Overview
ThePRODUCER_AGREEMENT_EXECUTED webhook is triggered when a downstream entity (agency) and your upstream entity have fully executed a producer agreement — meaning both parties have signed the contract.
Webhook type: PRODUCER_AGREEMENT_EXECUTED
Triggers
This webhook fires when:- Both the upstream entity and downstream entity have signed the producer agreement (via DocuSign or offline upload), completing contract execution
This webhook is sent immediately — no debouncing is applied, since contract execution is a discrete, one-time
event per association.
Payload Example
Field Reference
Payload Fields
| Field | Type | Description |
|---|---|---|
downstreamEntityAssociationId | string | The ID of the association between the downstream entity and your upstream entity |
downstreamEntityId | string | The ID of the downstream entity (agency) that executed the agreement |
producerCode | string | null | The producer code assigned to the downstream entity for this association. null if no producer code has been assigned yet. |
branchName | string | The branch name of the association |
contractContainerInstanceId | string? | The ContractContainer instance ID of the executed contract. Stable identifier for this specific signed agreement. Optional: may be absent for legacy in-flight envelopes signed before the ContractContainer migration. |
contractContainerTemplateId | string? | The ContractContainer template ID this instance was created from. Same value you would have supplied as contractContainerTemplateId on the Invite Downstream Entity call. Optional: see note above. |
contractContainerTemplateName | string? | Human-readable template name (the same name returned by List Contract Container Templates). Optional: see note above. |
signedFileDocumentId | string? | The FileDocument ID of the executed signed PDF. Use with List File Documents to retrieve a download URL. Optional: see note above. |
The four
contractContainer* and signedFileDocumentId fields were added in May 2026. They are present for all new contract executions but may be absent for associations signed before the ContractContainer migration. Treat them as optional in your handler.