For the complete documentation index, see llms-docs.txt or the site index llms.txt. Full docs corpus: llms-full-docs.txt. Prefer the markdown version of this page at /docs/api/workflow/events/post-api-workflow-v1events.md. Product capabilities: skill.md. Docs MCP: /docs/mcp. Site MCP: /mcp.

Create event

POST
/api/workflow/v1/events/
1import { Reloop } from "reloop-email";
2
3const reloop = new Reloop({ apiKey: "rl_123456789" });
4
5const { event, eventError } = await reloop.events.create({
6 name: "User signed up",
7 key: "user.signed_up",
8 properties: [{ name: "plan", propertyType: "string", required: true }],
9});
10if (eventError) throw eventError;
1{
2 "id": "evt_123456789",
3 "organizationId": "org_123456789",
4 "name": "User signed up",
5 "key": "trigger.user.signed_up",
6 "description": "Fired when an account is created",
7 "properties": [
8 {
9 "id": "evtp_123456789",
10 "name": "plan",
11 "propertyType": "string",
12 "required": true,
13 "defaultValue": null,
14 "description": "The plan they picked",
15 "createdAt": "2026-03-23T10:00:00.000Z",
16 "updatedAt": "2026-03-23T10:00:00.000Z"
17 }
18 ],
19 "createdAt": "2026-03-23T10:00:00.000Z",
20 "updatedAt": "2026-03-23T10:00:00.000Z"
21}

Body Parameters

namestringRequired

Display name, e.g. User signed up

  • Minimum length: 1
  • Maximum length: 255
keystring

What you pass when tracking. Made from the name if left out; "trigger." is added in front if missing.

  • Minimum length: 1
  • Maximum length: 128
descriptionstring
  • Maximum length: 2000
propertiesobject[]

Properties the event can carry

Custom properties
namestringRequired

Property key in the track payload

  • Minimum length: 1
  • Maximum length: 128
propertyType"string" | "number" | "boolean"

Possible values: string | number | boolean

requiredboolean

Tracking without it fails. Defaults to false.

defaultValuestring | null

Used when tracking leaves the property out

descriptionstring | null

Was this page helpful?