For Developers

‍

‍

How to integrate with DealBuilder


With DealBuilder, you can easily integrate your systems using API, webhooks, or GET requests. This allows you to automate workflows, reduce manual work, and ensure that data flows seamlessly between DealBuilder and other business systems.

Integration guide for API integration.

DealBuilder provides an integration guide for how to integrate DealBuilder into your own systems. See the guide here.

🛠️ Three simple ways to integrate:

  1. Webhooks – Receive data from DealBuilder when specific events occur (e.g. when a document is sent or signed).
  2. GET request to DealBuilder – Send data from your own systems to DealBuilder by automatically pre-filling contracts.
  3. ‍API – Full API for automated document workflows and product synchronization.
    (See the guide for setting up API integrations here).
    ‍

📡 1. Integration via webhooks


Webhooks allow you to automatically receive data from DealBuilder in your system every time a defined event occurs. This can, for example, be when a document is sent, opened, or signed.


How to set up a webhook:

  1. Go to Admin > Webhooks in DealBuilder.
  2. Click Add webhook.
  3. Fill in the following:
    • Name: Give the integration a descriptive name, e.g. From DealBuilder to CRM.
    • URL: Enter the endpoint that should receive the data.
    • Error email: Enter an email address for notifications if something goes wrong.
    • Event: Choose what should trigger the webhook (e.g. Document signed).

👉 Tip: To test the webhook, you can use a service such as webhook.site to see how the data is structured for each event.


See the separate page for complete documentation of DealBuilder's webhooks here: https://app.dealbuilder.io/webhookdocs
‍

✅ Testing webhooks

Once the webhook has been saved, you can test that everything works. Click "Run test", but note that there must be data in your account for the event you are testing.

For example:
If you have set up a webhook with the event "Document completed", you must have a signed document in your DealBuilder account to run a test. The system will automatically use the most recently signed document as test data.

If your account does not have any relevant data, the test cannot be completed.


👉 Tip: First send out a document for signing and sign it, so you have something to test with.

‍

🧩 Available webhook events:

  • Document sent – When a document is sent from DealBuilder.
  • Document opened – When the recipient opens the document.
  • Document signed – When an individual signer signs. One webhook per signer.
  • Document completed – When all required signatures are in place and the signed PDF is ready. All document data is included in a single webhook.
  • Document completed (per line item) – Sends one webhook per line item when the document is completed.
  • Signing deadline expired – When the signing deadline expires.
  • Signing deadline changed – When the signing deadline is changed.
  • Document sent for internal approval – When the document is sent for internal approval.
  • Document recalled – When a document is recalled before it is completed.
    ‍

Automatic retry on failure

When creating webhooks, you can enable automatic retries on failure. DealBuilder will then try again after 10 minutes and subsequently at gradually longer intervals, for a maximum of 10 days.

‍

📥 2. Integration via GET request to DealBuilder

You can automatically fill in contract templates in DealBuilder by sending a GET request to the following endpoint:

https://app.dealbuilder.io/Contract/CreateNewContractExternal

By including information such as customer ID, organization number, email address, and other data in the URL, you can pre-fill contracts directly from your own system.


Example:

https://app.dealbuilder.io/contract/createnewcontractexternal?email=ole@eposten.com&phonenumber=004741434544&companyname=Eksempelfirma%20AS
&customername=Ole+Hansen&address=Eksempelveien%2032+0101+Oslo&visitaddress
=Eksempelveien%2032+0101+Oslo&orgnumber=321654789&CRMid=4963935370

When the user opens the link, they first select a document template. The selected template then opens with the information from the GET request pre-filled. The user must have access to DealBuilder and be logged in.

When the contract is signed, you can use webhooks to retrieve the customer ID and other related information, so the data is automatically sent back to your system.

‍

📋 You can automatically fill DealBuilder with the following data points:

‍

ID / Query Parameter (URL variable) Description / Field name in DealBuilder Value (what is filled in) Explanation
orgnumberOrganization number321654789The company's organization number
visitaddressCompany addressB2B-veien 37, 1234 OsloThe company's address
addressPostal addressPostboks 1184 Sentrum 0107 OsloThe company's postal address (if needed)
companynameCompany nameEksempelfirma ASThe name of the company
customernameContact personNiklas HansenThe name of the contact person who will sign
emailEmaildealbuilder.demo@gmail.comThe contact person's email address
phonenumberPhone number"+4741434544"The contact person's phone number


‍

You can create your own fields on each document template under Admin > Templates > Select template > Custom fields.
The field ID is used directly as a query parameter in the GET link. If, for example, you have a field with the ID customerID, the value can be sent like this:
&customerID=12345
‍

The fields can be shown in the document or stored as hidden metadata that is returned via webhook. They can also be used as variables in the document text, for example {cf_customerID}, which is automatically replaced with the field's value.

‍

ID / Query Parameter (URL variable) Description / Field name in DealBuilder Value (what is filled in) Explanation
CompanyIDCompanyID11223344ID of the company in another system
Deal-IDDeal-ID227778889ID of the opportunity/deal in another system
invoiceintervalinvoiceintervalmonthlyHow the customer should be invoiced

‍

Custom fields can be placed in several locations in the document, including at the top of the document (under Company Name, Contact Person, etc.) or below the line items from the product module. The fields can also be used as variables directly in the document text. If a field, for example, has the ID ValueOfABC, it can be inserted into the text as {cf_ValueOfABC}. When the document is created, the variable is automatically replaced with the value entered in the field.

Custom fields can also be hidden. In that case, the field can contain a value without being shown as a separate field in the document to the recipient. The value is stored as metadata on the document and can be returned via webhook.

‍

‍

🚀 What does this mean in practice?

This means that you can easily set up a button or link to DealBuilder in your own system. When the user clicks it to create a new contract or quote, DealBuilder opens pre-filled with information about the counterparty (e.g. the customer) and any custom fields such as customer IDs or specific project details.

By pre-filling contracts with data from your system, you save time and ensure that the correct information is included in the agreements.

You can already have templates prepared in DealBuilder containing your own contract text, terms, and attachments. When the user starts a new contract from their system, they only need to adjust the content of the contract template before sending out a quote or contract – this can be done in just a few seconds.

For this to work, the users in question must also have user access to DealBuilder and already be logged in to DealBuilder.

‍

📦 Product module for dynamic agreements

DealBuilder also has its own product module that makes it possible to add products directly to contract templates dynamically.

This means that, in addition to pre-filled customer information, the user can also add products from the product library in DealBuilder before the agreement or quote is sent for signing. This provides a fast, flexible, and complete process for both customer agreements and quote management.

‍

🎥 See how it works

Would you like to see how you can integrate DealBuilder with your own systems?
We have created a short video that shows you the entire process – from setting up webhooks to testing and use.


👉 How to set up a new webhook: https://www.loom.com/share/7e9821361b1f4e2e952c3eab538b1c34?sid=4d93fdd8-6e2d-4a2d-890c-d2a66ca08bd7

👉 How to send data to DealBuilder (GET request /Query URL): https://www.loom.com/share/87d7c294d1fa4e28870c4fbeae4a992e?sid=676db381-5536-4252-b542-18279ef1335f

‍

🔌 3. Integration via API

DealBuilder's API gives you flexible and powerful automation for the entire document workflow – for both finished PDFs and template-based documents.

API documentation

Full technical documentation for DealBuilder's API can be found here:
https://api.dealbuilder.io/swagger/index.html

The documentation is also available in JSON format:
https://api.dealbuilder.io/swagger/v1/swagger.json

The JSON version can, among other things, be used together with AI tools to help develop and troubleshoot integrations. The API has the base address https://api.dealbuilder.io and uses an API key in the x-api-key header for authentication.

‍

📌 Three main types of document workflows via API:

  1. PDF signing (automatic)
    Submit a finished PDF with signers and any custom fields/metadata. The template ID controls deadlines, signing method, notifications, and more. The document is automatically sent for signing, and webhooks provide updates back to you.
  2. Document generated from template (automatic)
    An external system sends in data such as products, quantities, prices, discounts, terms, attachments, etc. DealBuilder generates the document based on the template and automatically sends it for signing. Webhooks provide updates back to you.
  3. Semi-automatic document workflow
    Same as above, but the user has the option to make adjustments to the document before it is sent manually from DealBuilder. Perfect when something should be quality-checked before sending. Webhooks provide updates back to you.
    ‍

Capabilities with the DealBuilder API

DealBuilder's API makes it possible to automate the entire document workflow from your own systems. You can, among other things:

  • Create documents from templates or finished PDF files.
  • Create documents as drafts or send them directly for signing.
  • Manage documents, retrieve document information, and track signing status.
  • Retrieve signed PDFs and associated document data.
  • Search, filter, and sort documents, including by free-text search, signing date, and document number.
  • Create, update, and synchronize products.
  • Transfer custom fields, metadata, products, prices, terms, and attachments.
  • Retrieve signing links and integrate the signing process into your own systems.
  • Receive automatic updates about document events through webhooks.

See the complete guide for how to set up API integrations here.

‍

Organization hierarchy for groups and partners

DealBuilder supports organization hierarchies with an unlimited number of levels of organizations and companies. This makes it possible to mirror the structure of larger corporate groups, businesses with many departments, or partner organizations. API and webhooks can be managed centrally at a higher level and apply to the entire organization hierarchy. This makes it possible to establish one shared integration that handles the document workflow across multiple companies and departments.
‍

National identity number with BankID signing

For approved customers, DealBuilder can also make the signer's national identity number available through the integration when using BankID signing. Access must be activated separately.

‍

Embedded signing

DealBuilder supports integrated signing workflows where signing links can be retrieved via API and presented directly in the customer's own system, without the signing invitation having to be sent via DealBuilder. Automatic delivery of fully signed documents to the signers can also be disabled per document template. This allows the business to handle both the delivery of signing links and communication after signing is completed.

‍

🔄 Product synchronization

The API will also support synchronization of products between DealBuilder and your own systems, so that you always have up-to-date product data available in your documents.

‍

📧 Need help with integrations?


You can set up the integrations yourself using API, webhooks, or GET requests, get input or help from us, or contact one of our integration partners for assistance. Our partners help you build custom integrations that fit your needs and automate important processes.


👉 Contact us via our contact form, and we'll help you get started.

‍