Business· Help center

Help center › Automations

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

  1. In the other app, create a step that catches a webhook and copy the address it gives you. It must start with https://.
  2. In Otto, open Settings → Integrations and scroll to Webhooks.
  3. Paste the address and press Add.
  4. Copy the Signing secret shown under it, then press Done. It is not shown again.
An address in the Webhooks section, switched on, with the events it receives
An address in the Webhooks section, switched on, with the events it receives

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-Signature header.
  • 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.