Webhooks & Events
Hayden Dover avatar
Written by Hayden Dover
Updated over a week ago

Listen to events in Tango and we will send you the relevant data to your endpoint.

Every request to your endpoint will be in the following JSON format:

{
"event": "event_name",
"type": "object_type",
"data": {}
}

event - the name of the event that was triggered.

type - the type of object that is being delivered (Proposal, Invoice, etc).

data - the JSON object that the event is related to.


Events

Proposal Accepted

Occurs when a proposal is accepted.

Example:

{
"event": "Proposal Accepted",
"type": "Proposal",
"data": {
"url": "https://app.tangoagreements.com/agreement/123x456",
"id": "123x456",
"title": "Hello World!",
"status": "Accepted",
"version": "001",
"accepted_date": "2024-03-15T00:21:35.149Z",
"accepted_on_behalf_of": true,
"client_business_name": "",
"users": [
{
"name": "John Doe",
"email": "[email protected]",
"role": "Owner"
}
],
"contract_terms": [
{
"name": "Tax",
"description": "Additional % added to all costs",
"tax": "GST",
"value": 0.1
},
{
"name": "Deposit terms",
"description": "Days prior to the start date the first invoice must be paid",
"value": 3
},
{
"name": "Payment terms",
"description": "Days after a due date an invoice is marked as overdue",
"value": 14
},
{
"name": "Late payment fee",
"description": "Additional % you are liable to pay on an overdue invoice",
"value": 0.1
},
{
"name": "Review period",
"description": "Days the client has to review work",
"value": 5
},
{
"name": "Location",
"description": "Jurisdiction of contract (State and/or Country)",
"value": "Queensland, Australia"
}
],
"invoices": [
{
"id": "123x456",
"proposal": "123x456",
"billed_from": "John Doe's Company",
"billed_to": "",
"currency": "AUD",
"due_date": "2024-03-05T03:39:11.081Z",
"invoice_number": "1",
"paid_date": "2024-03-05T03:38:54.000Z",
"schedule_type": "on acceptance",
"status": "Paid",
"tax_name": "GST",
"tax_percentage": 0.1,
"total_excluding_tax": 15753.25,
"total": 17328.575,
"line_items": [
{
"description": "Hello World!: Instalment 1",
"amount_excluding_tax": 15250,
"tax_amount": 1525,
"total": 16775
}
]
}
]
}
}

Invoice Status Updated

Occurs when an invoice status is updated to Due, Overdue, Paid, Failed, Voided.

Example:

{
"event": "Invoice Status Updated",
"type": "Invoice",
"data": {
"id": "123x456",
"proposal": "123x456",
"billed_from": "John Doe's Company",
"billed_to": "",
"currency": "AUD",
"due_date": "2024-03-15T00:22:05.149Z",
"invoice_number": "1",
"paid_date": "2024-03-15T00:21:46.000Z",
"schedule_type": "on acceptance",
"status": "Paid",
"tax_name": "GST",
"tax_percentage": 0.1,
"total_excluding_tax": 10975.625,
"total": 12073.1875,
"line_items": [
{
"description": "Hello World!: Instalment 1",
"amount_excluding_tax": 10625,
"tax_amount": 1062.5,
"total": 11687.5
}
]
}
}

Did this answer your question?