How to send Otto's events to another app with a webhook
Post a message to any web address, such as one from Zapier, Make or n8n, when a contact is added, a quote accepted or an invoice paid.
Updated 2026-10-18
A webhook lets another app hear what happens in Otto. You paste a web address the other app gives you, and each time something happens, such as a new contact or a paid invoice, Otto posts the details there. Automation tools like Zapier, Make and n8n give you such an address; so can your own software.
Webhooks are in Settings → Integrations, in the Webhooks section. Only someone who manages the business sees them.
Add an address
- In the other app, create a step that catches a webhook and copy the address it gives you. It must start with
https://. - In Otto, open Settings → Integrations and scroll to Webhooks.
- Paste the address and press Add.
- Copy the Signing secret shown under it, then press Done. It is not shown again.

Choose what is sent
Under each address are the events it can receive. A new address gets them all; press one to stop or start sending it:
contact.created: a contact was added.quote.accepted: a customer accepted a quote.job.completed: a job was marked done.invoice.paid: an invoice was paid.form.submitted: someone filled in one of your forms.review.approved: something waiting in Reviews was approved.
An address must keep at least one event.
Check it works
- Press Test to send a test message. It goes within a minute.
- Press Log to see the last messages sent to that address, each marked sent, queued, sending or failed, with how many tries it took.
- Use the switch beside the address to pause it, and Remove to stop sending to it for good.
Good to know
- Each message is signed with your secret, so the other app can check it really came from Otto. The signature is in the
X-Otto-Signatureheader. - A message that fails is tried again after 1 minute, 5 minutes and 30 minutes.
- If 5 messages in a row fail, Otto switches the address off and tells you. Fix the address in the other app, then switch it back on.
- A business can have up to 10 addresses.
- Messages carry the record's id and main details, such as a contact's name and email or an invoice's number and total.
If it doesn't work
- "Paste the full https:// address the other app gave you."
- "... Otto only posts to public https addresses." — Otto does not post to private or local network addresses.
- "Pick at least one event to send."
- "A business can have 10 addresses. Remove one first."
- "Switched off after 5 deliveries in a row failed." — shown under the address, with the last error.