Work eventabee Guides Build a custom destination

Build a custom destination

Field mapper and JSON template for endpoints that need a specific payload shape.

Updated

Operational

When a partner’s endpoint expects a specific payload shape that the generic webhook can’t produce, use the custom destination. It’s a field mapper plus a JSON template — ship an integration in an afternoon instead of waiting on a connector.

1. Target URL and auth

Destinations → Custom → Connect. Paste the URL and configure auth (Bearer, API key header, or basic auth).

2. JSON template

Write a JSON template with Handlebars-style placeholders. Example for a fictional partner expecting a nested payload:

{
  "event": {
    "type": "{{event_name}}",
    "ts": "{{timestamp_unix}}",
    "source": "shopify"
  },
  "user": {
    "id": "{{customer.id}}",
    "email_sha256": "{{customer.email_hash}}"
  },
  "order": {
    "total_cents": {{properties.value_cents}},
    "currency": "{{properties.currency}}"
  }
}

Available variables: any field from the canonical event plus helpers like timestamp_unix, timestamp_iso, now_iso, and properties.<key> accessors.

3. Field mapping

If the partner expects field names different from your event’s, use the field mapper to rename before the template renders.

4. Preview

The dashboard includes a Preview button that shows the exact request (URL, headers, body) the custom destination would make for a sample event. Use this before saving — it catches most bugs.

5. Save and send a test

Enable test mode and trigger an event. Confirm it lands in the partner system.

Set the consent category that fits — the destination is yours.

When to use custom vs. webhook

  • Webhook: partner accepts eventabee’s canonical payload shape.
  • Custom: partner expects a specific shape, or you want to send a subset of fields.

Troubleshooting

  • Partner returns 400. Use the Preview button to inspect the exact body. Often it’s a type issue (string vs. number) — JSON templating preserves quotes only where you put them.
  • Template errors. Syntax errors in the template surface in the destination’s error log with the exact line number.