Obvious/Help Center

Webhooks (UI Setup)

Published February 27, 2026 · Last updated March 7, 2026 · 3 min read

A webhook is like a doorbell. When something happens in an external service — a new record in Salesforce, a message in Slack, a payment in Stripe — the service rings your project's doorbell, and Obvious answers by running a task.

Ask the Agent

The quickest way: tell the agent what you want to happen and where.

Set up a webhook that runs my data check task whenever a new record is added in Salesforce.

The agent creates the subscription, picks the right event type, and connects it to your task. You can review the details and adjust from there.

To set one up manually, keep reading.

What You'll Need

  • A task you want to trigger (create one first under Automations if you haven't)
  • Access to the external service where you'll paste the webhook URL (Salesforce, Stripe, Slack, etc.)

Create a Webhook Subscription

  1. Open a thread in your project and ask the agent:

    Create a webhook subscription for [service name] that listens for [event type] events.

    For example: "Create a webhook subscription for Stripe that listens for payment created events."

  2. The agent returns a webhook URL — copy it.

If the external service is already connected to Obvious, the agent handles registration automatically, meaning you don't need to copy a URL.

Paste the URL in Your External Service

For services that aren't directly connected, you'll paste the webhook URL into the service's settings.

  1. Navigate to your external service's webhook or developer settings.
  2. Add a new webhook endpoint, paste the URL provided by Obvious, and select the events you want to send.
  3. Save your changes.

Connect the Webhook to a Task

A webhook subscription on its own just listens. To make it do something, connect it to a task.

When you create the subscription, you can tell the agent which task to run:

Create a webhook for Pylon support tickets and connect it to my "Triage New Tickets" task.

Every matching event runs the task with the event data included.

Choose What Happens When an Event Arrives

By default, a webhook triggers a task. But you have two other options:

  • Run a prompt — Event data goes to an agent with a prompt template you define. Good when you want the agent to think about the event, not just follow steps.
  • Run a shell command — Obvious runs a script in the sandbox with the event data. Good for lightweight automations that don't need agent reasoning.

Ask the agent to set either one:

Set up a webhook for GitHub that runs this prompt whenever a pull request is opened: "Review the PR details and summarize the changes."

Pause or Delete a Subscription

To temporarily stop a webhook from triggering:

Pause the Stripe webhook.

Events sent while paused are ignored.

To remove a subscription entirely:

Delete the Pylon webhook subscription.

Deleting a subscription disconnects it from any linked tasks. The tasks themselves aren't deleted — they just stop receiving events from that webhook.

Next Steps

  • Tasks & Schedules — Create the tasks your webhooks trigger
  • Webhooks (Developer Setup) — Technical reference for payload formats, signature verification, and authentication
  • Slack — Connect Slack to trigger webhooks from channel messages
Was this helpful?