Skip to main content
The Mobilerun assistant often runs for many minutes: scraping a list, working through a multi-step job, or waiting for you to answer a question. You should not have to keep the chat open to find out when it is done. Three webhook events cover the whole lifecycle of an assistant turn. They fire for every conversation in your organization, whether the tab is open, in the background, or closed.

Option A: let the assistant set it up

The assistant can configure its own notifications. Start a conversation and say, in your own words:
Notify me at https://hooks.example.com/mobilerun when you finish, fail, or need something from me. Use sensible settings and send a test.
The assistant will:
  1. show you which notification events exist and confirm the selection,
  2. create the webhook endpoint for that URL, filtered to exactly those events,
  3. show you the signing secret once and ask you to store it,
  4. send a test delivery and confirm it arrived.
Later you can ask it to change the events, re-enable a blocked endpoint, rotate the secret, or look up why a delivery failed.
The assistant creates generic signed webhooks. It does not send email or Slack messages itself. Point the URL at an automation tool (n8n, Zapier, Make) or your own receiver to turn the event into a message. It also cannot change a workflow’s Notify on success / failure setting; that lives in the workflow settings in the dashboard.

Option B: set it up yourself

  1. Open Webhooks in the dashboard and click Add Webhook.
  2. Enter your HTTPS URL.
  3. Select chat.turn.completed, chat.turn.failed, and chat.input.required.
  4. Save and store the secret shown once.
  5. Click Send test and check that your receiver logged a webhook.test event.
Everything about signing, retries, and headers is the same as for any other webhook; see Webhooks.

What the payload contains

The payloads are deliberately minimal. They identify the conversation and the turn, but never include your prompt, the assistant’s reply, or the text of a question. Open the conversation to read those.

chat.turn.completed and chat.turn.failed

You get exactly one terminal event per turn. No terminal event is sent when you stop the turn yourself, when the turn is stopped by the credit budget or a step limit, or when the turn belongs to a workflow rather than an interactive conversation. Those cases are visible in the chat only.

chat.input.required

The event is sent once per question. If you answer within the first seconds, before the event has been dispatched, it may be skipped.

Turning it into a message

Slack via n8n

Webhook trigger → Slack node. Post type, settleReason, and a link built from sessionId.

Email via Zapier or Make

Catch Hook → Email. Use one Zap per event type or branch on type.

Push notification

Forward to a service such as ntfy or Pushover from your receiver.

Your own receiver

Verify the signature, deduplicate on id, and act on type.
A minimal receiver that forwards to Slack: