Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/data/nav/platform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,10 @@ export default {
link: '/docs/platform/integrations/webhooks',
index: true,
},
{
name: 'Generic HTTP webhooks',
link: '/docs/platform/integrations/webhooks/generic',
},
{
name: 'Lambda Functions',
link: '/docs/platform/integrations/webhooks/lambda',
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/platform/integrations/webhooks/azure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The following settings are available when creating an Azure Function integration
| Function Name | The name of your Azure Function. |
| Headers | Allows the inclusion of additional information in key-value format. |
| Request Mode | Choose between **Single Request** or **Batch Request**. |
| [Source](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to Azure Functions. |
| [Event types](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to Azure Functions. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |
| [Enveloped](/docs/platform/integrations/webhooks#enveloped) | Checkbox to set whether messages should be enveloped or not. Enveloped is the default. Only available when `Request Mode` is set to `Single`. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The following settings are available when creating a Cloudflare Worker integrati
| URL | The URL of the Cloudflare Worker to POST a summary of events to. |
| Headers | Allows the inclusion of additional information in key-value format. |
| Request Mode | Choose between **Single Request** or **Batch Request**. |
| [Source](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to Cloudflare Workers. |
| [Event types](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to Cloudflare Workers. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |
| Sign with key | Payloads will be signed with an API key so they can be validated by your servers. Only available when `Request Mode` is set to `Batched`. |
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The following settings are available when creating a Google Function integration
| Function | The name of your Google Function. |
| Headers | Allows the inclusion of additional information in key-value format. |
| Request Mode | Choose between **Single Request** or **Batch Request**. |
| [Source](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to your Google Function. |
| [Event types](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to your Google Function. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |
| [Enveloped](/docs/platform/integrations/webhooks#enveloped) | Checkbox to set whether messages should be enveloped or not. Enveloped is the default. Only available when `Request Mode` is set to `Single`. |
Expand Down
37 changes: 37 additions & 0 deletions src/pages/docs/platform/integrations/webhooks/generic.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Generic HTTP webhooks
meta_description: "Configure generic HTTP webhooks to trigger HTTP endpoints and notify external services when events occur in Ably."
meta_keywords: "ably webhooks, http webhooks, webhook integration, generic webhooks, webhook endpoints, event notifications, realtime webhooks"
redirect_from:
---

Generic HTTP webhooks enable you to trigger HTTP endpoints and notify external services when events occur in Ably. Events include when messages are published, presence events occur, changes in channel occupancy, and when channels are created or discarded. Data can be delivered individually or in batches to any HTTP endpoint.

## Create a generic HTTP webhook integration

To create a generic HTTP webhook integration in your [dashboard](https://ably.com/dashboard/any):

1. Login and select the application you wish to integrate with an HTTP endpoint.
2. Click the **Integrations** tab.
3. Click the **New Integration Rule** button.
4. Choose **Webhook**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you meant to delete step 5 - it was just the name that was wrong

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahhhh ok :)

4. Choose **Webhook** (again).
6. Configure the webhook [settings](#settings).
7. Click **Create**.

You can also create a generic HTTP webhook integration using the [Control API](/docs/platform/account/control-api).

## Settings

The following settings are available when creating a generic HTTP webhook integration:

| Setting | Description |
|---------|-------------|
| URL | The HTTP/HTTPS endpoint URL where webhook requests will be sent. Ably strongly recommends using HTTPS for security. |
| Headers | Optional HTTP headers to include with each request. Use the format `key:value`, for example, `X-Custom-Header:my-value`. Each header should be on a new line. |
| Request Mode | Choose between **Single request** (sends each event individually) or **Batch request** (groups multiple events into a single request). |
| Event types | Choose which event types trigger the webhook: `channel.message`, `channel.presence`, `channel.lifecycle`, or `channel.occupancy`. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |
| Sign with key | Choose whether to sign webhook requests with your API key for security. |
| [Enveloped](/docs/platform/integrations/webhooks#enveloped) | When enabled (default), messages are wrapped in additional metadata. When disabled, only the raw message data is sent. |
2 changes: 1 addition & 1 deletion src/pages/docs/platform/integrations/webhooks/ifttt.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ The following settings are available when creating an IFTTT integration:
| ------- | ----------- |
| IFTTT Webhook key | The webhook key for your IFTTT account. |
| Event name | The name used to identify the IFTTT applet. |
| [Source](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to IFTTT. |
| [Event types](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to IFTTT. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |

Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/platform/integrations/webhooks/lambda.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The following settings are available when creating an AWS Lambda integration:
| AWS Credentials | If using AWS credentials, enter the values in `key:value` format. |
| ARN of an assumable role | If using ARN of an assumable role, enter the ARN of the role that Ably can assume to access your AWS Lambada function. |
| Qualifier | The qualifier of your Lambda function, if set. |
| [Source](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to your AWS Lambda function. |
| [Event types](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to your AWS Lambda function. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |
| [Enveloped](/docs/platform/integrations/webhooks#enveloped) | Checkbox to set whether messages should be enveloped or not. Enveloped is the default. |
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/platform/integrations/webhooks/zapier.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The following settings are available when creating a Zapier integration:
| URL | The Zapier webhook URL to POST a summary of events to. |
| Headers | Allows the inclusion of additional information in key-value format. |
| Request Mode | Choose between **Single Request** or **Batch Request**. |
| [Source](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to Zapier. |
| [Event types](/docs/platform/integrations/webhooks#sources) | Specifies the event types being sent to Zapier. |
| [Channel filter](/docs/platform/integrations/webhooks#filter) | Filters the source channels based on a regular expression. |
| Encoding | Specifies the encoding format of messages. Either JSON or MsgPack. |
| [Enveloped](/docs/platform/integrations/webhooks#enveloped) | Checkbox to set whether messages should be enveloped or not. Enveloped is the default. Only available when `Request Mode` is set to `Single`. |
Expand Down