> ## Documentation Index
> Fetch the complete documentation index at: https://docs.turrisfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Producer Agreement Executed

> Webhook event triggered when a producer agreement is fully executed

## Overview

The `PRODUCER_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

<Info>
  This webhook is sent **immediately** — no debouncing is applied, since contract execution is a discrete, one-time
  event per association.
</Info>

## Payload Example

```json theme={null}
{
  "webhookType": "PRODUCER_AGREEMENT_EXECUTED",
  "upstreamEntityId": "507f1f77bcf86cd799439010",
  "payload": {
    "downstreamEntityAssociationId": "507f1f77bcf86cd799439011",
    "downstreamEntityId": "507f1f77bcf86cd799439012",
    "producerCode": "03-e55f06b3-618c-4bf2-b578-efae34a87a6e",
    "branchName": "Main Branch",

    "contractContainerInstanceId": "6a171043c80172422211a416",
    "contractContainerTemplateId": "6a13495a5415a8bb4ac83b5d",
    "contractContainerTemplateName": "Producer Agreement",
    "signedFileDocumentId": "6a1710bcc80172422211a421"
  }
}
```

## 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](/api-reference/v1/downstream-entity-associations/invite) call. Optional: see note above. |
| `contractContainerTemplateName` | string?        | Human-readable template name (the same `name` returned by [List Contract Container Templates](/api-reference/v1/contract-container-templates/list)). Optional: see note above.                                                                                   |
| `signedFileDocumentId`          | string?        | The FileDocument ID of the executed signed PDF. Use with [List File Documents](/api-reference/v1/file-documents/list-documents) to retrieve a download URL. Optional: see note above.                                                                            |

<Note>
  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.
</Note>
