Docs

Webhooks

An automation rule is a trigger, optional filters and a destination. Slack, Discord and Lark get formatted cards; a webhook destination gets plain JSON so your own system can act on it.

Triggers

Each trigger fires from exactly one place in the product, and the direction is deliberate: the takeover trigger fires when a human takes over, not when the AI resumes.

  • conversation.created — a visitor starts a conversation
  • message.received — a visitor sends a message
  • conversation.takeover — a human takes the conversation from the AI
  • conversation.closed — a conversation is closed
  • lead.captured — a visitor leaves contact details
  • ticket.created — a ticket is opened
  • form.submitted — a visitor completes one of your forms
  • kb.source.changed — a knowledge source's content changed on re-index
  • sla.breached — a first-response or resolution timer expired

Filters

Rules can filter on keywords in the text and on triage priority, where the trigger carries one. Different filter kinds combine with AND; values within one kind combine with OR. A rule with no filters fires on every event of its trigger.

Payload

A webhook destination receives one POST per event with this body. Keys are explicit and stable; new fields are added, never renamed.

{ "trigger": "conversation.takeover", "title": "Human takeover requested", "note": null, "text": "I need to change the shipping address on my order.", "actor": { "name": "Priya", "email": "priya@example.com" }, "priority": "high", "link": "https://app.helpo.support/dashboard/…/conversations/conv_9f21", "fields": [], "projectId": "prj_…", "occurredAt": "2026-09-20T09:14:07.000Z" }

Securing your endpoint

The destination URL is the secret, exactly as with Slack and Discord incoming webhooks. Use an unguessable path or a token in the query string, and treat the request as untrusted input: validate the shape before acting on it.

Delivery log

Every attempt is recorded with its response status, the number of tries and how long it took, so a broken endpoint is visible in Helpo AI rather than discovered a week later. A rejection from the destination is recorded as a failure and not retried. Each connection has a Test button that sends a sample event.

Put your support on autopilot

Train Helpo AI on your product today. Your customers get answers in seconds — your team gets their time back.