Skip to main content

Receive requests through a webhook or a shared form

Turn on a thunk's webhook endpoint and share its browser form so other systems and people can send in work

Every thunk has a secure webhook endpoint that other systems can post data to, and each webhook comes with a matching form link that a person can open in a browser to submit the same information by hand. Both feed the thunk the same way: an AI agent reads what arrives and creates or updates work items for you.

Use a webhook when another application should hand work to your thunk automatically — for example, posting a form submission from your website, or sending an event when a record changes in another system. Use the form link when you want people to submit requests themselves without needing an account in Thunk.AI.

This is one of several ways a thunk can receive inbound requests. For programmatic integrations that need structured input and status tracking, see inbound requests via a REST API instead.

Add a webhook channel

  1. Open your thunk and go to Run → Inbound Requests.

  2. Add a new webhook connection. In the Add a new webhook connection dialog, fill in:

    • Channel name — a short label so you can recognize this channel later, such as "Leads from the website."

    • Channel description — an optional note about where the data comes from.

    • Collection name — where incoming data should land. Choose one of your thunk's collections: either a Content Folder or your Workflow Requests.

    • Instructions — guidance for the AI agent on how to handle each message it receives on this channel. This is required, because the agent uses it to decide what to extract and how to turn a submission into a work item.

  3. Choose what the agent is allowed to do (see below), then create the channel.

Choose what the AI can do with each message

When you add or edit a channel, you pick how much the agent may change:

  • AI can add and update data — the agent can create new work items and update existing ones.

  • AI can only add new data — the agent can create new work items but never change existing ones. This is the default.

  • AI can only update existing data — the agent can update existing work items but never create new ones.

Pick the narrowest option that still lets the channel do its job. You can change it later by editing the channel.

Share the webhook URL with another system

After the channel exists, select it and open its configuration (the Instructions button opens the Message Channel Configuration dialog). At the top you'll see:

Send data to this thunk by posting to this URL to automatically add/update data

Copy that URL and give it to the system that will send data. Anything posted to the URL is handled according to the channel's access level and instructions. The URL contains its own credentials, so treat it like a password — anyone who has it can send data to your thunk.

Share the form link with people

The same dialog also offers a browser form for people who would rather type the information in themselves:

Or share this link to let people fill in the input form in a browser

Copy that link and send it to whoever should submit requests — no Thunk.AI account is required to use it. When someone opens the link, they see a page with your thunk's logo, a form to fill in, and a footer showing your thunk's name, its description, and the owner's email as a contact. Submitting the form sends the entry to your thunk exactly as a webhook post would, so it follows the same access level and instructions.

Because the form link carries the same credentials as the webhook URL, only share it with people you want to be able to submit work.

How submissions are handled

Whether a request arrives from the webhook URL or the shared form, the agent applies the channel's instructions to read the submission, then adds or updates work items within the limits you set. You can review what came in from the thunk's work items — each item records the channel it was created from — and refine the channel's instructions over time if the agent isn't interpreting submissions the way you want.

Did this answer your question?