Webhook Events Reference
DealBuilder sends an HTTP POST request to your configured endpoint whenever one of the
events below occurs. Each request body is a JSON object whose shape is described on this page.
Verify that the request came from DealBuilder by checking the webhookKey field against
the key shown in your webhook subscription settings.
DocumentSent
Fired when a document is dispatched to its recipient(s). Contains the full document details including order lines, parties, and custom fields.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| customerAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerCompanyName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerId deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerFirstName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerLastName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerOrgNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerVisitAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedVisitAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerSignatureImage deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| id | string nullable | Unique ID of the document. |
| pdfUrl | string nullable | URL to the current PDF preview of the document. |
| createdBy | string nullable | Email of the user who created and sent the document. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| contractTitle | string nullable | Title/name of the document. |
| language | string nullable | Language code the document was generated in, e.g. en, nb, sv. |
| contractNumber | integer | Auto-incremented sequential number for the document within the account. |
| created | datetime nullable | UTC timestamp when the document was created. |
| validUntil | datetime nullable | UTC date after which the document expires and can no longer be accepted. |
| currency | string nullable | ISO 4217 currency code used on the document, e.g. NOK, EUR, USD. |
| totalStartup | number | Sum of all one-time (startup) order line values, before tax. |
| totalRecurring | number | Sum of all recurring order line values, before tax. |
| startupTax | number | Total tax amount on all one-time (startup) lines. |
| recurringTax | number | Total tax amount on all recurring lines. |
| totalCostStartup | number | Total cost (purchase price) of all one-time (startup) lines. |
| totalCostRecurring | number | Total cost (purchase price) of all recurring lines. |
| cCs | string[] nullable | Email addresses added as CC on the document send. |
| signingTypeId | integer | Numeric ID for the signing method used on the document. |
| signingTypeName | string nullable | Name of the signing method, e.g. ClickToSign, BankID. |
| description | string nullable | Free-text description shown to the recipient at the top of the document. |
| terms | string nullable | Terms and conditions text the recipient must agree to. |
| statusId | integer | Numeric status ID of the document at time of sending. |
| statusName | string nullable | Human-readable status name, e.g. Sent. |
| orderlines | WebhookDocumentOrderLine[] nullable | All order lines (products/services) on the document. |
| id | string nullable | Unique identifier for the order line / product. |
| name | string nullable | Display name of the product or service. |
| description | string nullable | Longer description of the product or service. |
| tax | number | Tax percentage applied to this line (e.g. 25 for 25%). |
| value | number | Unit price before discount and tax. |
| taxValue | number | Calculated tax amount in currency units. |
| discount | number | Discount amount or percentage depending on DiscountInPercentage. |
| afterDiscount | number | Unit price after discount has been applied, before tax. |
| recurring | boolean | Whether this line is a recurring charge (true) or a one-time startup cost (false). |
| quantity | integer | Quantity of units on this line. |
| cost | number | Internal cost / purchase price of the product. |
| discountInPercentage | boolean | True if the discount is a percentage; false if it is an absolute amount. |
| productInternalId deprecated | string nullable | Deprecated. Use ProductExternalId instead. |
| productExternalId | string nullable | External product ID from an integrated system (e.g. ERP or CRM). |
| productInternalDescription | string nullable | Internal description / notes visible only within DealBuilder. |
| subOrderLines | WebhookDocumentOrderLine[] nullable | Child lines when this line is a product bundle. |
| activites | WebhookActivity[] nullable | Full audit trail of activity events on the document at time of sending. |
| readDate | datetime nullable | UTC timestamp when the activity occurred. |
| ip | string nullable | IP address of the actor. |
| userAgent | string nullable | Browser or client user-agent string of the actor. |
| eventString | string nullable | Human-readable description of the activity. |
| activityTypeId | integer nullable | Numeric ID for the activity type. |
| activityTypeName | string nullable | Name of the activity type, e.g. ContractOpenedViaEmail. |
| string nullable | Email address of the actor who triggered this activity. | |
| customFields | WebhookDocumentCustomField[] nullable | Custom field values with type metadata, as defined on the document template. |
| id | string nullable | Id of the custom field as defined in the template. |
| description | string nullable | Description of the custom field as defined in the template. |
| typeId | integer | Numeric type identifier (e.g. 1 = text, 2 = date, 3 = dropdown). |
| typeName | string nullable | Human-readable type name, e.g. TextField, DateField, DropDown. |
| value | string nullable | The value entered for this custom field on the document. |
Example payload
DocumentExpiring
Fired when a document is approaching its signing deadline date. Allows you to send reminders or take action before the document expires.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| customerAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerCompanyName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerId deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerFirstName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerLastName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerOrgNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerVisitAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedVisitAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerSignatureImage deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| contractId | string nullable | Unique ID of the expiring document. |
| createdBy | string nullable | Email of the user who created the document. |
| dateSent | datetime | UTC timestamp when the document was originally sent. |
| validUntil | datetime | UTC date after which the document expires and can no longer be accepted. |
| contractNumber | integer | Auto-incremented sequential number for the document within the account. |
| contractTitle | string nullable | Title/name of the document. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| viewUrl | string nullable | URL where the recipient can view and accept the document. |
Example payload
DocumentValidUntilChanged
Fired when the signing deadline date of a pending document is updated. Contains both the old and new deadline dates.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| documentId | string nullable | Unique ID of the document. |
| createdBy | string nullable | Email of the user who created and sent the document. |
| dateSent | datetime | UTC timestamp when the document was originally sent. |
| documentTitle | string nullable | Title/name of the document. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| viewUrl | string nullable | URL where the recipient can view the document. |
| customFields | WebhookDocumentCustomField[] nullable | Custom field values with type metadata, as defined on the document template. |
| id | string nullable | Id of the custom field as defined in the template. |
| description | string nullable | Description of the custom field as defined in the template. |
| typeId | integer | Numeric type identifier (e.g. 1 = text, 2 = date, 3 = dropdown). |
| typeName | string nullable | Human-readable type name, e.g. TextField, DateField, DropDown. |
| value | string nullable | The value entered for this custom field on the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| validUntil | datetime | The new UTC expiry date. |
| previousValidUntil | datetime | The previous UTC expiry date before the change. |
Example payload
DocumentOpened
Fired when a recipient opens a document via the email link or a direct URL.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| customerAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerCompanyName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerId deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerFirstName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerLastName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerOrgNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerVisitAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedVisitAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerSignatureImage deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| contractId | string nullable | Unique ID of the document on which the activity occurred. |
| createdBy | string nullable | Email of the user who created the document. |
| dateSent | datetime | UTC timestamp when the document was originally sent. |
| contractNumber | integer | Auto-incremented sequential number for the document within the account. |
| contractTitle | string nullable | Title/name of the document. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| activity | WebhookActivity nullable | Details of the specific activity that triggered this webhook. |
| readDate | datetime nullable | UTC timestamp when the activity occurred. |
| ip | string nullable | IP address of the actor. |
| userAgent | string nullable | Browser or client user-agent string of the actor. |
| eventString | string nullable | Human-readable description of the activity. |
| activityTypeId | integer nullable | Numeric ID for the activity type. |
| activityTypeName | string nullable | Name of the activity type, e.g. ContractOpenedViaEmail. |
| string nullable | Email address of the actor who triggered this activity. |
Example payload
DocumentAccepted
Fired when all required parties have accepted (signed) a document. Includes the signed PDF URL, totals, and full audit trail.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| customerAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerCompanyName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerId deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerFirstName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerLastName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerOrgNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerVisitAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedVisitAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerSignatureImage deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| id | string nullable | Unique ID of the accepted document. |
| createdBy | string nullable | Email of the user who originally created and sent the document. |
| accepted | datetime | UTC timestamp when the last required party accepted the document. |
| pdfUrl | string nullable | URL to download the signed PDF of the document. |
| contractNumber | integer | Auto-incremented sequential number for the document within the account. |
| contractTitle | string nullable | Title/name of the document. |
| totalStartup | number | Sum of all one-time (startup) order line values, before tax. |
| totalRecurring | number | Sum of all recurring order line values, before tax. |
| startupTax | number | Total tax amount on all one-time (startup) lines. |
| recurringTax | number | Total tax amount on all recurring lines. |
| totalCostRecurring | number | Total cost (purchase price) of all recurring lines. |
| totalCostStartup | number | Total cost (purchase price) of all one-time (startup) lines. |
| acceptedByIp | string nullable | IP address of the last party who accepted the document. |
| acceptedByEnvironment | string nullable | Browser/OS environment string of the last party who accepted. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| currency | string nullable | ISO 4217 currency code used on the document, e.g. NOK, EUR, USD. |
| activites | WebhookActivity[] nullable | Full audit trail of activity events on the document. |
| readDate | datetime nullable | UTC timestamp when the activity occurred. |
| ip | string nullable | IP address of the actor. |
| userAgent | string nullable | Browser or client user-agent string of the actor. |
| eventString | string nullable | Human-readable description of the activity. |
| activityTypeId | integer nullable | Numeric ID for the activity type. |
| activityTypeName | string nullable | Name of the activity type, e.g. ContractOpenedViaEmail. |
| string nullable | Email address of the actor who triggered this activity. | |
| customFields deprecated | string[] nullable | Deprecated. Use WebhookCustomFields instead. |
| webhookCustomFields | WebhookDocumentCustomField[] nullable | Custom field values with type metadata, as defined on the document template. |
| id | string nullable | Id of the custom field as defined in the template. |
| description | string nullable | Description of the custom field as defined in the template. |
| typeId | integer | Numeric type identifier (e.g. 1 = text, 2 = date, 3 = dropdown). |
| typeName | string nullable | Human-readable type name, e.g. TextField, DateField, DropDown. |
| value | string nullable | The value entered for this custom field on the document. |
| orderLines | WebhookDocumentOrderLine[] nullable | All order lines (products/services) on the document. |
| id | string nullable | Unique identifier for the order line / product. |
| name | string nullable | Display name of the product or service. |
| description | string nullable | Longer description of the product or service. |
| tax | number | Tax percentage applied to this line (e.g. 25 for 25%). |
| value | number | Unit price before discount and tax. |
| taxValue | number | Calculated tax amount in currency units. |
| discount | number | Discount amount or percentage depending on DiscountInPercentage. |
| afterDiscount | number | Unit price after discount has been applied, before tax. |
| recurring | boolean | Whether this line is a recurring charge (true) or a one-time startup cost (false). |
| quantity | integer | Quantity of units on this line. |
| cost | number | Internal cost / purchase price of the product. |
| discountInPercentage | boolean | True if the discount is a percentage; false if it is an absolute amount. |
| productInternalId deprecated | string nullable | Deprecated. Use ProductExternalId instead. |
| productExternalId | string nullable | External product ID from an integrated system (e.g. ERP or CRM). |
| productInternalDescription | string nullable | Internal description / notes visible only within DealBuilder. |
| subOrderLines | WebhookDocumentOrderLine[] nullable | Child lines when this line is a product bundle. |
Example payload
DocumentAcceptedOrderLines
Fires once per order line when a document is accepted. Useful for pushing individual sales lines to external ERP or CRM systems.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| customerAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerCompanyName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerId deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerFirstName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerLastName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerOrgNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerVisitAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedVisitAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerSignatureImage deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| id | string nullable | Unique ID of the accepted document. |
| createdBy | string nullable | Email of the user who originally created and sent the document. |
| accepted | datetime | UTC timestamp when the document was accepted. |
| pdfUrl | string nullable | URL to download the signed PDF of the document. |
| signatureImage | string nullable | Base64-encoded signature image of the accepting party. |
| contractNumber | integer | Auto-incremented sequential number for the document within the account. |
| contractTitle | string nullable | Title/name of the document. |
| totalStartup | number | Sum of all one-time (startup) order line values, before tax. |
| totalRecurring | number | Sum of all recurring order line values, before tax. |
| startupTax | number | Total tax amount on all one-time (startup) lines. |
| recurringTax | number | Total tax amount on all recurring lines. |
| totalCostRecurring | number | Total cost (purchase price) of all recurring lines. |
| totalCostStartup | number | Total cost (purchase price) of all one-time (startup) lines. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| currency | string nullable | ISO 4217 currency code used on the document, e.g. NOK, EUR, USD. |
| orderLineDescription | string nullable | Description of this specific order line. |
| orderLineId | string nullable | ID of this specific order line. |
| orderLineName | string nullable | Name/title of this specific order line. |
| orderLineValue | number | Unit price of this order line before discount and tax. |
| orderLineDiscount | number | Discount amount applied to this order line. |
| orderLineAfterDiscount | number | Unit price of this order line after discount, before tax. |
| orderLineRecurring | boolean | Whether this order line is a recurring charge (true) or a one-time cost (false). |
| orderLineQuantity | integer | Quantity of units for this order line. |
| orderLineCost | number | Internal cost / purchase price of this order line. |
| customFields | WebhookDocumentCustomField[] nullable | Custom field values with type metadata, as defined on the document template. |
| id | string nullable | Id of the custom field as defined in the template. |
| description | string nullable | Description of the custom field as defined in the template. |
| typeId | integer | Numeric type identifier (e.g. 1 = text, 2 = date, 3 = dropdown). |
| typeName | string nullable | Human-readable type name, e.g. TextField, DateField, DropDown. |
| value | string nullable | The value entered for this custom field on the document. |
Example payload
PendingApproval
Fired when a document is submitted for internal approval and is waiting for an approver to review it.
Fields
| Field | Type | Description |
|---|---|---|
| eventType | string nullable | The event type name, e.g. DocumentSent, DocumentAccepted. |
| webhookKey | string nullable | The webhook subscription key, used to verify the request came from DealBuilder. |
| customerAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerCompanyName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerId deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerFirstName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerLastName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerOrgNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerVisitAddress deprecated | string nullable | Deprecated. Use the Parties array instead. |
| customerDetailedVisitAddress deprecated | WebhookAddress nullable | Deprecated. Use the Parties array instead. |
| customerSignatureImage deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerEmail deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerName deprecated | string nullable | Deprecated. Use the Parties array instead. |
| sellerPhoneNumber deprecated | string nullable | Deprecated. Use the Parties array instead. |
| templateId | string nullable | ID of the template used to create the document. |
| templateName | string nullable | Display name of the template used to create the document. |
| parties | WebhookDocumentParty[] nullable | All parties on the document (recipients, senders, CCs, approvers). |
| id | string nullable | Unique ID of the party record. |
| roles | string[] nullable | Roles assigned to this party, e.g. Recipient, Sender, CC. |
| title | string nullable | Professional title of the party. |
| name | string nullable | Full name of the party. |
| firstName | string nullable | First name of the party. |
| lastName | string nullable | Last name of the party. |
| string nullable | Email address of the party. | |
| phoneNumber | string nullable | Phone number of the party. |
| companyName | string nullable | Company name of the party. |
| companyOrgNumber | string nullable | Organisation / company registration number. |
| address | string nullable | Postal address as a single string (legacy). Use DetailedAddress when available. |
| visitAddress | string nullable | Visit/delivery address as a single string (legacy). Use DetailedVisitAddress when available. |
| detailedAddress | WebhookAddress nullable | Structured postal address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| detailedVisitAddress | WebhookAddress nullable | Structured visit/delivery address. Populated when an address with separate fields was stored. |
| streetAddress | string nullable | Street name and number. |
| zip | string nullable | Postal / ZIP code. |
| city | string nullable | City or town name. |
| electronicIdAccept | WebhookElectronicIdAccept nullable | Electronic ID verification data. Populated only when the party accepted via BankID or similar. |
| name | string nullable | Full name as returned by the electronic ID provider. |
| identityScheme | string nullable | Identity scheme used, e.g. no:bankid, se:bankid, dk:mitid. |
| issuedAt | datetime | UTC timestamp when the electronic ID assertion was issued. |
| dateOfBirth | string nullable | Date of birth returned by the electronic ID provider (format: YYYY-MM-DD). |
| acceptDate | datetime nullable | UTC timestamp when this party accepted/signed the document. Null if not yet accepted. |
| contractId | string nullable | Unique ID of the document awaiting approval. |
| createdBy | string nullable | Email of the user who created the document and requested approval. |
| dateSent | datetime | UTC timestamp when the document was submitted for approval. |
| validUntil | datetime | UTC date after which the document expires. |
| contractNumber | integer | Auto-incremented sequential number for the document within the account. |
| contractTitle | string nullable | Title/name of the document. |
| externalReferenceId | string nullable | External reference ID set on the document (e.g. a CRM deal ID). |
| approvers | string[] nullable | Email addresses of the users who are required to approve the document. |
| viewUrl | string nullable | URL where an approver can review and approve or reject the document. |