Connect Bubble to Chanty by creating an incoming webhook in Chanty's team settings, then calling that webhook URL from a Bubble Backend Workflow via the API Connector. Chanty's webhook URL contains its own authentication token — no OAuth or API key header needed. Route all calls through a Backend Workflow (Bubble Starter plan required) to keep the webhook URL server-side and out of browser logs.
| Fact | Value |
|---|---|
| Tool | Chanty |
| Category | Communication |
| Method | Backend Workflow (Webhooks) |
| Difficulty | Beginner |
| Time required | 30–45 minutes |
| Last updated | July 2026 |
Bubble → Chanty: fast operational alerts without Slack complexity
Chanty is a lean team messaging platform. Its developer API surface is intentionally minimal: incoming webhooks are the primary and most reliable integration feature. There is no Bubble plugin in the marketplace — this is a manual setup. But that is also what makes it fast: one webhook URL, one API Connector call in Bubble, one Backend Workflow. Within 30 minutes your Bubble app can push real-time alerts into any Chanty channel whenever something important happens.
The integration is outbound-only by default. Chanty does not send data back to Bubble through webhooks — the flow is one-directional: Bubble notifies Chanty. If you need to read message history, list channel members, or manage channels, Chanty does expose a REST API with an API key, but that surface is less documented than Slack's and should be tested carefully before production use.
The critical security point: the Chanty webhook URL contains a signed authentication token embedded in the path. If this URL appears in a client-side Bubble workflow, it becomes visible in browser network requests — anyone who captures it can post messages to your Chanty channel. Always route the call through a Bubble Backend Workflow so it executes server-side. Backend Workflows require Bubble's Starter plan ($32/month) or higher. On Bubble's Free plan, there is no safe way to hide the webhook URL.
Integration method
Outbound notifications from Bubble to Chanty via incoming webhook — one HTTP POST, no OAuth, no expiring tokens.
Prerequisites
- A Chanty account with admin or workspace owner access (to create webhooks under Settings → Integrations)
- A Bubble app on the Starter plan ($32/month) or higher — Backend Workflows are not available on the Free plan
- The API Connector plugin by Bubble installed in your app (free plugin from the Bubble Plugin Marketplace)
- Basic familiarity with Bubble Workflows and the Workflow editor
Step-by-step guide
Create an incoming webhook in Chanty
Open your Chanty workspace in the browser and click your workspace name in the top-left to open the main menu. Navigate to Settings → Integrations → Incoming Webhooks. Click the 'New Webhook' button. Chanty will ask you to select a channel — choose the channel where you want Bubble notifications to appear (for example, #alerts or #ops). Give the webhook a descriptive name such as 'Bubble App Notifications' so your team knows where messages come from. After saving, Chanty displays the webhook URL. It looks something like: `https://api.chanty.com/webhooks/XXXXXXXXXXXXXXXXXXXXXX`. Copy this URL and store it somewhere safe — you will need it in Bubble. This URL contains the authentication token in the path; treat it like a password. Do not paste it into a public document, a Slack message, or anywhere that others can read it.
Pro tip: Create one webhook per use-case or per channel rather than a single webhook for everything. This lets you disable a specific notification type without affecting others.
Expected result: You have a Chanty incoming webhook URL that starts with https://api.chanty.com/webhooks/ and targets your chosen channel.
Install the API Connector plugin in Bubble
In your Bubble app editor, click the Plugins tab in the left sidebar. At the top of the Plugins panel, click 'Add plugins'. In the plugin search box, type 'API Connector' and find the official 'API Connector' plugin published by Bubble. Click Install. This plugin is free and adds the ability to make HTTP calls to external APIs from both client-side and server-side Bubble Workflows. After installation, the API Connector appears in your Plugins tab. Click on it to open the configuration panel. You will see a blue 'Add another API' button — click it to start a new API group.
Pro tip: If the API Connector is already installed in your app from a previous integration, skip the installation step and go directly to 'Add another API'.
Expected result: The API Connector plugin is installed and visible in the Plugins tab. Clicking it shows the 'Add another API' button.
Configure the Chanty Notify API call
After clicking 'Add another API', give the API group a name such as 'Chanty'. You do not need to add any shared headers — Chanty's webhook URL handles authentication itself. Click 'Add another call' inside the Chanty group. Name this call 'Send Notification'. Set the method to POST. In the URL field, you have two options: **Option A (recommended for security):** Set the URL as a dynamic parameter so the webhook URL is passed in at runtime from a private Bubble field. In the URL field, type a placeholder like `[webhook_url]`, then in the call's Parameters section add a parameter named `webhook_url` and check the 'Private' checkbox. The full URL becomes your API endpoint at runtime. This prevents the URL from ever appearing in the Bubble editor in plain text. **Option B (simpler, acceptable if API Connector is server-only):** Paste the full webhook URL directly into the URL field, then click the small padlock or 'Private' toggle available in some Bubble versions. In either case, ensure this call is used ONLY from Backend Workflows and never from client-side actions. For the request body, set Content-Type to application/json and add the following body template: ```json { "text": "[message]" } ``` Add a parameter named `message` (not private — it will contain the dynamic text you build per event). Chanty also supports basic markdown formatting in the `text` field: `*bold*`, `_italic_`, and triple-backtick code blocks. You can build richer messages like: ```json { "text": "*New Order* 🛒\nCustomer: [customer_name]\nAmount: $[amount]\nPlan: [plan]" } ``` Click 'Initialize call'. Bubble requires a real successful HTTP response to detect the response schema. For Chanty webhooks, a successful response returns HTTP 200 with an empty body or `{"ok":true}`. You will need to temporarily enter the actual webhook URL and a real message text, then click Initialize. After initialization, you can remove or replace the test values with dynamic parameters.
1{2 "method": "POST",3 "url": "https://api.chanty.com/webhooks/<private-token-in-url>",4 "headers": {5 "Content-Type": "application/json"6 },7 "body": {8 "text": "<dynamic message>"9 }10}Pro tip: The Initialize call step needs a real successful response from Chanty — paste your actual webhook URL temporarily and send a test message. Once initialized, you can make the URL dynamic or private again.
Expected result: The API Connector shows a green checkmark next to the 'Send Notification' call. Bubble has detected the response shape. The call is ready to use in Workflows.
Build the Backend Workflow that triggers the notification
Now you need to create the server-side workflow that calls the Chanty API. In Bubble, Backend Workflows run on Bubble's servers and never expose their logic or parameters to the browser. This is essential for keeping your webhook URL private. Go to the Workflow tab in the Bubble editor. At the top of the Workflow panel, click 'Backend Workflows'. If you do not see this option, your app is on the Free plan — you need to upgrade to Starter ($32/month) or higher before continuing. Click 'New API Workflow'. Name it something like `notify_chanty`. This creates a Backend Workflow that can be triggered from other workflows, scheduled events, or API calls. Inside the Backend Workflow, click 'Add an action'. Search for or scroll to 'Plugins → Chanty → Send Notification' (the API Connector call you configured in Step 3). Click it to add the action. In the action's configuration panel, fill in the `message` parameter. This is where you compose the text that will appear in Chanty. You can use Bubble's dynamic data expressions — for example: - If triggered from a user signup workflow: `'New user: ' + Triggering User's name + ' (' + Triggering User's email + ')'` - If triggered from a payment workflow: `'Payment received: $' + Triggering Order's amount + ' from ' + Triggering Order's customer name` For the `webhook_url` parameter (if you used Option A from Step 3), you can store the webhook URL in a Bubble Option Set (Data → Option Sets → Create Option Set 'Config' → add option 'chanty_webhook_url' with a display field containing the URL). Then reference it in the workflow as `Option Set Config's chanty_webhook_url's URL`. This avoids hardcoding the URL anywhere in the workflow editor UI. RapidDev's team has helped many founders set up this pattern cleanly across dozens of Bubble apps — if you want a free scoping call to review your Backend Workflow architecture, visit rapidevelopers.com/contact.
Pro tip: Store the Chanty webhook URL in a Bubble Option Set or App Data field rather than hardcoding it in the workflow. This lets you rotate the webhook without editing every workflow that uses it.
Expected result: A Backend Workflow named 'notify_chanty' exists and contains one action: the Chanty Send Notification API call with a dynamic message parameter.
Trigger the Backend Workflow from your app events
With the Backend Workflow ready, you can now trigger it from any event in your Bubble app. In the Workflow tab, create or edit the workflow that corresponds to the event you want to monitor. **Example 1 — Form submission:** When your contact form is submitted, add an action 'Schedule API Workflow' → select `notify_chanty` → set 'When' to 'Current date/time' (runs immediately) → pass in the form data as parameters. **Example 2 — Database change:** If you use a Data Things workflow (e.g., when a new order is created), add 'Schedule API Workflow' at the end of the workflow chain. **Example 3 — Scheduled check:** Create a separate recurring Backend Workflow (click 'Add a recurring event' in the Backend Workflows panel) → set an interval (e.g., every 15 minutes) → check a condition (e.g., count of failed transactions > 0) → if condition is true, schedule `notify_chanty`. Each time 'Schedule API Workflow' runs, it consumes Workload Units (WU) in Bubble's post-2023 billing model. Keep notification workflows lightweight and avoid calling `notify_chanty` in high-frequency loops — for example, do not trigger it inside a 'Schedule API Workflow on a list' action that iterates over thousands of records. Batch or aggregate the message before calling Chanty once.
Pro tip: Use Bubble's 'Only when' condition on the 'Schedule API Workflow' action to prevent notifications from firing in the Bubble development environment. Add a condition like 'App version is not Development' or set a toggle in your App Data.
Expected result: Your chosen event (form submission, payment, scheduled check) now triggers the notify_chanty Backend Workflow, which sends a message to Chanty. Test by submitting a form in the Bubble preview and checking the target Chanty channel.
(Optional) Add Chanty REST API calls for read operations
If you need to go beyond outbound notifications — for example, listing channels, fetching recent messages, or managing team members — Chanty provides a REST API at `https://api.chanty.com/v1` that uses an API key for authentication. To get your API key, open Chanty → Settings → API Access (the exact location may vary by Chanty version — check Chanty's support documentation if you cannot find it). Copy the API key. In Bubble's API Connector, add a new API group named 'Chanty REST'. Add a shared header: - Key: `Authorization` - Value: `Bearer [api_key]` - Check the 'Private' checkbox on the value Caution: Chanty's REST API documentation is sparse compared to Slack or Flock. Before wiring any REST endpoint into Bubble, test it in a tool like Postman or the Chanty developer console to confirm the endpoint path, request format, and response shape. Some endpoints may return undocumented errors or change without notice. Initialize each call in Bubble with a real successful response before using it in workflows.
1{2 "method": "GET",3 "url": "https://api.chanty.com/v1/channels",4 "headers": {5 "Authorization": "Bearer <private-api-key>",6 "Content-Type": "application/json"7 }8}Pro tip: Chanty's REST API is less mature than Slack's. If you need advanced read/write channel management, evaluate whether Flock or Slack would better serve your use case — both have more complete API documentation and larger Bubble plugin ecosystems.
Expected result: A 'Chanty REST' API group exists in your API Connector with a Private Authorization header. Individual GET/POST calls are initialized and returning real response data.
Common use cases
New user signup alert
When a new user registers in your Bubble app, immediately post a notification to your #new-signups Chanty channel with the user's name, email, and plan tier. Your team sees growth happening in real time without checking the Bubble database.
Copy this prompt to try it in Bubble
Payment received notification
After a Stripe payment is confirmed (via your Stripe webhook Backend Workflow), trigger a second API call to Chanty posting the customer name, order amount, and product to your #sales channel. Useful for small teams celebrating wins together.
Copy this prompt to try it in Bubble
Error or threshold alert
Run a scheduled Bubble Backend Workflow every 15 minutes that checks for failed form submissions, overdue tasks, or inventory thresholds. If a condition is met, send a Chanty alert to #ops with details — an early warning system that needs no third-party monitoring tool.
Copy this prompt to try it in Bubble
Troubleshooting
Message is not appearing in the Chanty channel after triggering the Bubble workflow
Cause: The Backend Workflow may not have fired, the webhook URL may be wrong or rotated, or the API call failed silently.
Solution: Go to Bubble's Logs tab → Workflow logs and look for the notify_chanty workflow run. If it shows an error, expand it to see the HTTP status and response body. A 400 response usually means the JSON body is malformed. A 404 means the webhook URL is incorrect or has been deleted in Chanty. Re-check the webhook URL in Chanty Settings → Integrations → Incoming Webhooks and ensure it exactly matches what is in your API Connector.
'There was an issue setting up your call' error during the Initialize call step in the API Connector
Cause: Bubble could not complete the HTTP request to the webhook URL, or the response was empty/non-JSON, which Bubble's initializer cannot parse.
Solution: Chanty webhooks return a simple HTTP 200 with minimal body — this can confuse Bubble's initializer. During Initialize, make sure the webhook URL is pasted directly (not as a dynamic placeholder) and that the JSON body contains a valid 'text' field with a non-empty string. If Bubble still reports an error, click Initialize anyway and manually mark the call 'Use as Action' (not Data). Actions do not require a response schema.
The Chanty webhook URL is visible in browser network requests (DevTools)
Cause: The API call is being triggered from a client-side Bubble Workflow (a button click action running in the user's browser), not from a Backend Workflow.
Solution: Move the Chanty API call to a Bubble Backend Workflow and use 'Schedule API Workflow' from the client-side workflow instead. The 'Schedule API Workflow' action only passes parameters (like message text) to the server — the webhook URL itself stays in the Backend Workflow and never reaches the browser.
'Backend Workflows' section is missing from the Workflow editor
Cause: Your Bubble app is on the Free plan. Backend Workflows (API Workflows) require the Starter plan ($32/month) or higher.
Solution: Upgrade your Bubble app to the Starter plan or above. On the Free plan, the only option is to call the webhook from a client-side workflow, which exposes the URL in network requests. If you cannot upgrade immediately, consider routing the call through a free Cloudflare Worker that accepts a simple POST from your Bubble client and forwards it to Chanty — this keeps the real webhook URL off the browser.
Messages are reaching Chanty but formatting looks wrong — asterisks and underscores appear as literal characters
Cause: Chanty's incoming webhook markdown is basic and not compatible with all markdown flavors. Some special characters need to be escaped.
Solution: Chanty webhooks support `*bold*`, `_italic_`, and triple-backtick code blocks. Make sure you are not using double asterisks `**bold**` (GitHub-style) or Slack's `<link|text>` format — these will not render correctly. Stick to single asterisks and underscores. Line breaks use `\n` in the JSON string value.
Best practices
- Always route Chanty webhook calls through a Bubble Backend Workflow — never trigger them from client-side actions. The webhook URL is an authentication credential and must never appear in browser network logs.
- Store the webhook URL in a Bubble Option Set or App Data field rather than hardcoding it directly in the API Connector URL field. This makes it easy to rotate the URL without hunting through every workflow.
- Create one Chanty webhook per channel or notification type rather than routing everything through a single URL. This lets you disable or rotate individual webhooks without affecting other notification streams.
- Batch your notifications where possible. If your Bubble app processes a list of 50 records, send one summary message to Chanty ('50 orders processed') rather than 50 individual messages. This reduces WU consumption and prevents Chanty rate limiting.
- Add a condition to your Bubble workflows to suppress Chanty notifications in the development environment. Use an App Data field named 'notifications_enabled' set to 'no' in dev and 'yes' in production, then add an 'Only when' condition to every 'Schedule API Workflow' action.
- Check Bubble's Logs tab → Workflow logs after every test to confirm the Backend Workflow ran successfully and the HTTP call returned 200. Chanty webhooks are silent on failure — they do not retry or alert you if a message is dropped.
- For high-volume apps, monitor your Bubble WU consumption in the Metrics tab. Frequent scheduled Backend Workflows that call Chanty every few minutes across many users will accumulate WU costs quickly — tune the interval to the minimum frequency that still meets your alerting needs.
- If you need bidirectional communication (Chanty events triggering actions in Bubble), evaluate whether Flock or Slack would serve your use case better — both have more complete inbound event APIs than Chanty.
Alternatives
Slack has a mature Bubble plugin ecosystem (multiple vendors) and over 200 REST API endpoints covering bots, channels, users, events, and slash commands. The Chanty integration is simpler to set up but only supports outbound notifications with minimal read capability. Choose Slack if you need bidirectional automation, interactive bot commands, or richer message formatting with Block Kit.
Flock offers the same incoming webhook simplicity as Chanty but also provides a well-documented Bot API with OAuth for bidirectional communication — reading channels, direct messaging, and handling user replies. If your Bubble app needs to do more than send notifications, Flock's API surface is more complete than Chanty's.
Teams supports incoming webhooks via Office 365 Connectors (similar setup to Chanty) but also has the full Microsoft Graph API and Bot Framework for deep two-way integration. If your users are already in the Microsoft ecosystem, Teams is the enterprise-grade choice — though setup is significantly more complex than Chanty.
Frequently asked questions
Does connecting Bubble to Chanty require a paid Chanty plan?
No. Chanty's Free plan supports unlimited channels and incoming webhooks with up to 10,000 messages per month. The paid plan requirement is on the Bubble side: Backend Workflows (needed to keep the webhook URL server-side) are only available on the Bubble Starter plan ($32/month) or higher.
Can Chanty send data back to Bubble when a user replies to a message?
Not through the incoming webhook — that is outbound only. Chanty does have a REST API and may support outgoing webhooks, but this feature is not prominently documented. If you need two-way communication where Chanty user actions trigger Bubble workflows, consider using Slack or Flock instead, both of which have well-documented event APIs and Bubble backend workflow integrations.
Why does my message show up in Chanty but with garbled formatting?
Chanty webhooks support basic markdown: single-asterisk bold (`*text*`), single-underscore italic (`_text_`), and triple-backtick code blocks. Common mistakes include using double asterisks (`**text**`), Slack's `<url|link text>` format, or HTML tags — none of these work in Chanty. Also confirm your JSON body uses `\n` for line breaks within the text string.
What happens if the Chanty webhook URL leaks or is shared accidentally?
Anyone with the URL can POST messages to your Chanty channel. Go immediately to Chanty Settings → Integrations → Incoming Webhooks, delete the compromised webhook, and create a new one. Then update the webhook URL in your Bubble app's API Connector or Option Set. This is why keeping the URL in a Backend Workflow (not client-side) is important — it prevents accidental exposure.
Is there a Chanty plugin in the Bubble Plugin Marketplace?
No, there is no official or community Chanty plugin in the Bubble Plugin Marketplace. The integration requires a manual API Connector setup with a Backend Workflow, as described in this guide. This is slightly more work than Slack (which has marketplace plugins) but is still straightforward for the outbound notification use case.
How do I send notifications to different Chanty channels from the same Bubble app?
Create a separate incoming webhook in Chanty for each channel (each webhook targets a specific channel at creation time). Store each webhook URL in a Bubble Option Set or data field with a label. In your Bubble Backend Workflow, use conditional logic or pass the webhook URL as a parameter to select the right channel based on the event type.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation