Skip to main content
Events are the core signal system in MailGlyph. They let you describe what happened for a contact (for example user.signup, purchase, or email.bounce) and use that signal to automate actions.

Event sources

MailGlyph supports two event sources:
SourceHow events are createdExample events
Custom eventsYou send events with /v1/trackuser.signup, order.completed, purchase
Internal eventsMailGlyph emits events automatically from platform activityemail.sent, email.delivery, email.open, email.click, email.bounce, email.complaint, email.received, contact.subscribed, contact.unsubscribed, segment.<name>.entry, segment.<name>.exit
Internal events are system-generated and cannot be manually tracked through /v1/track.

System events reference

Use this table as the canonical list of built-in events you can trigger workflows with.

Email events

EventWhen it is triggeredWhy you would use it
email.sentAfter MailGlyph successfully hands off an outbound email to the delivery provider and stores it as sentStart post-send automations or audit outbound delivery attempts
email.deliveryWhen MailGlyph receives a delivery confirmation for an outbound emailMeasure delivery reliability and trigger delivered-based flows
email.openOn open notifications; includes first-open and repeated open metadataEngagement automation (for example, follow-ups for engaged contacts)
email.clickOn click notifications; includes clicked URL, first-click, and repeated click metadataLink-level engagement and intent-based automation
email.bounceWhen MailGlyph receives a bounce notification. Permanent bounces include bouncedAt; transient bounces are tracked for visibility and marked transientBounce: trueProtect sender reputation, react to invalid addresses, and monitor soft-bounce patterns
email.complaintWhen MailGlyph receives a spam complaint notificationImmediate suppression/escalation workflows and deliverability protection
email.receivedWhen inbound email is received on a verified domain with inbound enabledBuild inbound automations (support routing, reply workflows, intake pipelines)

Contact events

EventWhen it is triggeredWhy you would use it
contact.subscribedWhen a contact’s subscribed flag changes to true (API, dashboard/public subscribe flows, bulk operations)Re-entry onboarding, preference-sync, and consent lifecycle tracking
contact.unsubscribedWhen a contact’s subscribed flag changes to false (API, dashboard/public unsubscribe flows, bulk operations, bounce/complaint auto-unsubscribe)Compliance workflows, unsubscribe list sync, and win-back follow-up actions

Segment membership events

EventWhen it is triggeredWhy you would use it
segment.<name>.entryWhen a contact enters a segment that has membership tracking enabledTrigger automations at the moment a contact qualifies for an audience
segment.<name>.exitWhen a contact leaves a segment that has membership tracking enabledTrigger offboarding/re-engagement when a contact no longer matches criteria
Segment events use a slugified segment name, for example segment.vip-users.entry.

How event ingestion works

When you call /v1/track, MailGlyph:
  1. Validates the incoming event payload (email and event are required)
  2. Creates or updates the matching contact
  3. Stores the event with its name, optional data, and timestamp
  4. Makes the event available to workflows, segments, and event query endpoints
If the project is at its active contact limit, MailGlyph can still create the recipient as a pending contact so event flow continues.

Event payload model

Custom events accept:
FieldRequiredDescription
emailYesContact email address
eventYesEvent name
subscribedNoContact subscription state (defaults to true)
dataNoArbitrary event metadata object
Tracked events are queryable via:
  • List events (GET /events) with optional eventName filter and limit
  • List event names (GET /events/names) for unique names in your project
For per-event payload fields (for example bounceType, isFirstOpen, link, reason), see Webhooks.

How events are used in MailGlyph

Workflow triggers

Workflows start when a trigger event is received. You can trigger on custom events (from /v1/track) or internal events (like email.bounce or contact.unsubscribed). See Workflows. You can reference event data in workflow steps using event variables (for example {{event.subject}} or {{event.from}}).

Segment conditions

Dynamic segments can filter on event-based conditions, including:
  • Custom events (for example event.signed_up, event.purchased)
  • Email activity events (for example opens, clicks, bounces)

Webhook forwarding

A workflow can forward any trigger event to your own API with a Webhook step. This is how MailGlyph provides real-time outbound event delivery for both internal and custom events. See Webhooks.

Authentication model

  • Use the public API key for /v1/track
  • Use the secret API key for listing/querying events (/events, /events/names)
See API Keys for key management details.