Skip to main content
RapidDev - Software Development Agency
bubble-tutorial

How to trigger API workflows from external sources in Bubble.io: Step-by-Step Gu

Expose Bubble backend workflows as API endpoints that external services can call via HTTP requests. This tutorial covers enabling the Workflow API, creating backend workflows with parameters, constructing the endpoint URL, authenticating requests, and testing with Postman or webhook services.

What you'll learn

  • How to enable the Workflow API in Bubble settings
  • How to create backend workflows with input parameters
  • How to construct and authenticate the API endpoint URL
  • How to test external triggers using Postman
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Intermediate4 min read20-25 minAll Bubble plansMarch 2026RapidDev Engineering Team
TL;DR

Expose Bubble backend workflows as API endpoints that external services can call via HTTP requests. This tutorial covers enabling the Workflow API, creating backend workflows with parameters, constructing the endpoint URL, authenticating requests, and testing with Postman or webhook services.

Overview: Triggering API Workflows from External Sources

Bubble backend workflows can be exposed as HTTP endpoints, letting external services like Zapier, Make, Stripe webhooks, or custom servers trigger actions in your app. This tutorial covers enabling the API, defining workflows with parameters, handling authentication, and testing the integration.

Prerequisites

  • A Bubble account with an app
  • Backend workflows enabled in Settings
  • Basic understanding of HTTP requests and JSON
  • Postman or similar API testing tool

Step-by-step guide

1

Enable the Workflow API

Go to Settings → API tab. Check 'Enable Workflow API.' This exposes your backend workflows as callable HTTP endpoints. Note the API token shown — you need this for authentication.

Expected result: The Workflow API is enabled and an API token is available.

2

Create a backend workflow with parameters

Go to the Workflow tab → Pages dropdown → Backend workflows. Click 'New API workflow' and name it (e.g., 'create-order'). Check 'Expose as a public API workflow.' Add parameters: customer_email (text), product_name (text), amount (number).

Pro tip: Use descriptive parameter names — they appear in the API documentation.

Expected result: A backend workflow exists with defined parameters and is publicly exposed.

3

Add workflow actions using the parameters

Inside the backend workflow, add actions referencing the parameters. Example: Action 1 — Create a new Order with email = customer_email, product = product_name, total = amount. Action 2 — Send email to customer_email with confirmation. Parameters are available under 'This workflow's parameters' in the expression builder.

Expected result: The workflow creates records and sends emails using external data.

4

Construct the API endpoint URL

The endpoint pattern is: https://yourapp.bubbleapps.io/api/1.1/wf/workflow-name. Replace 'yourapp' and 'workflow-name' accordingly. For development: use version-test in the path. The workflow name is lowercase with hyphens.

Expected result: You have the complete URL for external services to call.

5

Test with Postman

Create a POST request in Postman. Set the URL to your workflow endpoint. Add headers: Authorization: Bearer YOUR_API_TOKEN and Content-Type: application/json. In the body, enter JSON with your parameter names and test values. Send and verify the workflow ran by checking your database.

API Connector payload
1POST https://yourapp.bubbleapps.io/api/1.1/wf/create-order
2Headers:
3 Authorization: Bearer YOUR_API_TOKEN
4 Content-Type: application/json
5
6Body:
7{
8 "customer_email": "test@example.com",
9 "product_name": "Pro Plan",
10 "amount": 2999
11}

Expected result: The POST request succeeds and the workflow creates records in your database.

Complete working example

API Connector payload
1{
2 "endpoint": "https://yourapp.bubbleapps.io/api/1.1/wf/create-order",
3 "method": "POST",
4 "headers": {
5 "Authorization": "Bearer YOUR_API_TOKEN",
6 "Content-Type": "application/json"
7 },
8 "body": {
9 "customer_email": "customer@example.com",
10 "product_name": "Pro Plan",
11 "amount": 2999
12 },
13 "development_url": "https://yourapp.bubbleapps.io/version-test/api/1.1/wf/create-order",
14 "notes": [
15 "Workflow must be marked as Expose as public API workflow",
16 "Parameter names must match exactly (case-sensitive)",
17 "Deploy to Live before using the production URL",
18 "Use version-test URL for development testing"
19 ]
20}

Common mistakes when triggering API workflows from external sources in Bubble.io: Step-by-Step Gu

Why it's a problem: Using the Live URL before deploying the workflow

How to avoid: Use version-test URL for testing, deploy before connecting production services

Why it's a problem: Mismatching parameter names

How to avoid: Copy parameter names directly from the workflow editor into your JSON body

Why it's a problem: Forgetting to check Expose as public API workflow

How to avoid: Open the backend workflow and check the Expose as public API workflow box

Best practices

  • Test with version-test URL before deploying to Live
  • Use descriptive workflow names for readable URL slugs
  • Add error handling that logs failures to a database
  • Validate incoming parameters inside the workflow
  • Use server logs to debug failed API calls
  • Rate-limit external callers by tracking requests

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I need to set up a Bubble.io backend workflow triggered by external HTTP POST requests with customer_email, product_name, and amount parameters. Can you give me the endpoint URL format and sample payload?

Bubble Prompt

Create a backend API workflow called 'create-order' with customer_email, product_name, and amount parameters. Expose it as a public API workflow and add actions to create an Order record.

Frequently asked questions

Can I trigger workflows from Zapier?

Yes. Use Zapier's Webhooks action to POST to your Bubble endpoint with Bearer token authentication.

Is there a rate limit?

Bubble does not publish official limits, but excessive calls trigger throttling. Each call consumes workload units.

Can I receive Stripe webhooks?

Yes. Create a backend workflow accepting Stripe's payload. Set the Stripe webhook URL to your Bubble endpoint.

What happens if the workflow fails?

Bubble returns an error response. Check Server logs for details and add error-handling actions.

Can I return data from the workflow?

Yes. Use the Return data from API action to send a custom JSON response.

Can RapidDev set up API integrations?

Yes. RapidDev configures complex API integrations including webhooks, authentication, and multi-step workflows.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.