Skip to content

Outbound envelope

When a flow fires a webhook action, 2mee POSTs a signed, versioned envelope to the endpoint you registered. This page is the shape of that request.

Standard Webhooks naming — the same headers you verify:

POST https://your-endpoint.example.com/2mee
Content-Type: application/json
webhook-id: msg_01HZX9...
webhook-timestamp: 1718703600
webhook-signature: v1,<base64>
{
"id": "msg_01HZX9...",
"type": "experience.goal.reached",
"timestamp": "2026-06-18T10:00:00Z",
"accountId": "acc_...",
"experienceId": "exp_...",
"data": {
"clientUserId": "user_8842",
"visitorId": "vis_...",
"attributes": { "plan": "pro" },
"result": { }
}
}
FieldTypeNotes
idstringStable across retries — your idempotency key. Matches webhook-id.
typestringA documented event type.
timestampstring (ISO-8601)When the event occurred, UTC.
accountIdstringThe 2mee account the event belongs to.
experienceIdstringThe experience that produced it.
dataobjectEvent-specific payload (see below).
FieldNotes
clientUserIdYour id for the person — present only when 2mee has one (see the no-PII case).
visitorIdThe 2mee visitor id.
attributesAttributes carried on the visitor/participant.
resultEvent-type-specific outcome data.

A flow that never identifies a person sends a generic completion event — the envelope omits clientUserId. For a user-agnostic flow the outbound event is itself the re-engagement mechanism: your own system holds the identity and decides who to contact. See goals.

  • Reply 2xx to acknowledge. Any 2xx is treated as success.
  • 2mee retries on 5xx, timeouts and connection errors; see retries & idempotency.
  • Reply fast (under a few seconds). Do slow work after acknowledging, keyed on id.

Always verify the signature and check the timestamp window before acting on the body. Dedupe on id.

When the destination is a connected provider (e.g. Segment), the outbound action isn’t a plain webhook to your URL — it’s a call to that provider’s API, shaped to their format. That’s an integration action; see Connect Segment. The envelope on this page is the generic webhook action’s payload.

Was this page helpful? Tell us / report an issue ↗