Track Events (Bulk)
iterable.track_bulk_events
ActionEmailconnection required
Calls the Iterable API with the connection's credentials.
Record many custom events in one call.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Iterable
- Secret shape
- the API key, or {"api_key": "…"}
- Config it needs
- region, base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
1 field, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
events The events to record, as a JSON array of Iterable event objects ({eventName, email or userId, dataFields}). At least one event is required. | array | Yes | — | ≥ 1 characters; array of object | [{"dataFields":{"plan":"pro"},"email":"ada@example.com","eventName":"signup"}] |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"events": [
{
"dataFields": {
"plan": "pro"
},
"email": "ada@example.com",
"eventName": "signup"
}
]
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
success_count How many records Iterable applied. | number | — |
fail_count How many records Iterable rejected. | number | — |
partial True when some records were applied and others were rejected. | boolean | — |
failed_updates Iterable's breakdown of the rejected records: invalid, not-found, conflicting and GDPR-forgotten identifiers. | object | — |
created_fields Profile fields Iterable created for this request. | array | — |
filtered_out_fields Fields Iterable dropped because they were not known. | array | — |
disallowed_event_names Event names Iterable refused because the project does not allow them. | array | — |
{
"created_fields": [],
"disallowed_event_names": [],
"fail_count": 0,
"failed_updates": {},
"filtered_out_fields": [],
"partial": false,
"success_count": 0
}Notes
- Iterable answers 200 even when some records fail: check 'fail_count' and 'failed_updates', not just the absence of an error.
- Events are processed asynchronously and on a different pipeline from 'Track Event'.
See Track Events (Bulk) run in a workflow.
In a technical demo we add the Iterable connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.