mailkite_send_event
Record application-level events like payment.failed to trigger automation sequences. Identify users by email or contactId, and use dedupeKey for idempotent retries without duplicate enrollments.
Instructions
Record one application-level fact about a user — user.created, trial.expiring, payment.failed. THE primary way a sequence starts on a developer platform: your application already knows when a payment failed, so it says so, and every enabled trigger listening for that name enrolls the contact with the payload as its input. Identify the subject with email or contactId (never both). Pass a dedupeKey to make retries idempotent: a repeat returns the original event with duplicate: true rather than enrolling anyone twice. Requires an API key (mk_live_…).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Event name: 1-64 characters of letters, digits, dot, dash, or underscore, starting alphanumeric. Names beginning `mailkite.`, `mailkite:`, or `email.` are reserved for platform events. | |
| No | The address this event is about. Give either this or `contactId`, never both. An address we don't hold a contact for still records — the event is an observation, not a subscription, so no contact is created as a side effect. | ||
| event | No | Alias for `name`, accepted so a payload written for another provider works unchanged. `name` wins when both are given. | |
| payload | No | Free-form context carried with the event. Sequence steps read it as {{event.*}} for merge tags and, from conditions on, for branching. | |
| contactId | No | A contact you own (ctc_…), as an alternative to `email`. Give either this or `email`, never both. | |
| dedupeKey | No | Idempotency key. A second POST with the same key returns the ORIGINAL event and `duplicate: true` instead of recording a second one — so a retried webhook can never enroll the same contact twice. |