> For the complete documentation index, see [llms.txt](https://docs.codewords.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codewords.ai/automations/webhooks.md).

# Webhooks

CodeWords webhooks are HTTP endpoints that let external systems send data directly into your workflows or agents.

### What are webhooks?

Webhooks let other apps start a CodeWords workflow when something happens — a form submit, a file upload, a CRM update, and so on.

They’re useful when you want an automation to react instantly. They can also send data back when the workflow finishes, which is handy for API-style automations that process input and return a result.

Ask Cody to create and manage webhooks for you.

### Authentication

You don’t need a CodeWords API key for webhooks. The webhook URL itself is the credential.

Each webhook gets a unique, hard-to-guess URL. Keep it private — anyone with the link can send data to your workflow. That’s why webhooks work well when you need external triggering without minting an API key.

### How webhooks work

* Deployed with `app="codewords"` and `trigger="webhook"`
* Cody generates a unique CodeWords webhook URL
* External systems POST JSON to that URL
* Designed to receive event notifications as POST requests with a JSON payload

CodeWords currently supports only the **POST** [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods).

{% code title="Example CodeWords webhook URL" overflow="wrap" %}

```
https://runtime.codewords.ai/webhook/.../your_unique_id/your_workflow_webhook
```

{% endcode %}

Cody generates this URL when it sets up the webhook — you don’t need to build it by hand.

### Webhook setup

{% stepper %}
{% step %}
**Create a test webhook**

Ask Cody to generate a temporary webhook URL so it can learn what data your external app will send.
{% endstep %}

{% step %}
**Connect your external system**

Add the test webhook URL in your app (GitHub, Stripe, or any other service) and trigger a test event.
{% endstep %}

{% step %}
**Let Cody analyze the payload**

Cody inspects the data your system sent and learns its structure.
{% endstep %}

{% step %}
**Build the webhook service**

Cody creates a service with test and production endpoints that follow the webhook pattern.
{% endstep %}

{% step %}
**Deploy the production webhook**

Cody launches the live webhook endpoint for real usage.
{% endstep %}

{% step %}
**Update your external system**

Replace the test URL with the production webhook URL in your app to finish setup.
{% endstep %}
{% endstepper %}

### FAQs

<details>

<summary>Which HTTP method does CodeWords support?</summary>

Currently, only **POST**. Send data as a JSON payload.

</details>

<details>

<summary>Can a webhook return data after running a workflow?</summary>

Yes. Webhooks can send a response back when your workflow completes — useful for API-style automations.

</details>

<details>

<summary>What can I connect using webhooks?</summary>

Any system that can send HTTP POST requests — GitHub, Stripe, Google Forms, custom APIs, and more.

</details>

<details>

<summary>Is my webhook URL secure?</summary>

Each URL includes a randomly generated ID that’s hard to guess. Keep it private.

</details>

<details>

<summary>Can I test my webhook before going live?</summary>

Yes. Cody creates a test webhook so you can verify the connection and review the data structure before deploying production.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.codewords.ai/automations/webhooks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
