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.

FieldTypeRequiredDefaultConstraintsExample
events
The events to record, as a JSON array of Iterable event objects ({eventName, email or userId, dataFields}). At least one event is required.
arrayYes—≥ 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

FieldTypeExample
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.