Skip to content
meruma Developers

Developers · Webhooks

Webhooks

A call to your system when something changes in meruma, so you never have to poll.

The events

Event When
contact.created A contact was created
contact.updated A contact changed
card.created A card was created
card.updated A card changed
card.stage_changed A card moved to another stage

They fire no matter where the change comes from: the app, the API, a form, an incoming message or an AI agent.

Create a webhook

Owners and admins create them in Integrations › For developers › Webhooks: the URL, the events and a description. When you create it, you get the secret to verify the signature, shown only once. They can also be created through the API, with POST /v1/webhooks: that is what Zapier and Make do.

The URL must be https:// on a public domain (port 443).

What arrives

Every event carries the full contact or card, exactly as the API returns it, and on *.updated events, which field changed:

{
  "id": "6f0c2a1e-…",
  "type": "contact.updated",
  "timestamp": "2026-11-10T15:04:05.123Z",
  "data": { "id": "…", "name": "John Smith", "emails": [], "customFields": {} },
  "changedFields": ["name"]
}

Order is not guaranteed: use timestamp, the time of the change. Events are signed: see how to verify the signature.

Retries

A 2xx within 10 seconds counts as delivered. If your system does not respond, we retry 8 times over about 44 hours. A 410 turns the webhook off; so do 3 days in a row of failures, and we let you know.

In Webhooks you see each delivery with its response, and you can resend it or send a test one.

Reviewed on