deal.contact_added
What this event means
deal.contact_added is emitted whenever a contact link is created for a deal.
Webhook type
deal.contact_added
Internal source mapping
| Internal event | Trigger path |
|---|
deal.contact_added | A new dealContacts record is inserted for a deal. |
Payload example
{
"type": "deal.contact_added",
"object": "event",
"data": {
"deal_id": "dl_1a2b3c",
"contact_id": "h7w8y2f1",
"association_type": "PRIMARY",
"supervisor_id": "h9x2k4u7"
}
}
Delivery and idempotency handling
- Use
data.deal_id + data.contact_id together as a robust idempotency pair.
- Contact-association events can arrive in rapid succession; apply upsert logic to avoid duplicate relationships.
association_type and supervisor_id may be omitted for some records. Persist defensively.
association_type identifies the contact role on the deal (for example PRIMARY) and is intentionally separate from top-level type.
supervisor_id references the associated supervisor contact ID when that relation is stored; treat it as optional metadata rather than a required identifier.
Last modified on April 26, 2026