Workflow Automation

Workflow automation

Define triggers, conditions, and actions in a visual builder. BuildBase workflows handle onboarding sequences, billing notifications, lifecycle events, and data syncing - connected directly to the platform's user data, email system, and webhooks.

Workflow · failed payment recoverylive

Trigger

payment.failed

Action

Send email

Action

Slack #billing

Wait

3 days

Condition

Still unpaid?

run#20481 01 Cobalt: charge declined

Your app is an organization in BuildBase. Your users sign in and work inside workspaces - one per team or customer.

You set up

In the console and the SDK

  • Triggers and steps in a drag-and-drop editor
  • Conditions, splits and waits between steps
  • New versions published without a deploy

Your users get

Inside their workspace

  • A welcome email and reminders as soon as they sign up
  • A heads-up before a trial ends or after a payment fails
  • Follow-ups that stop once they have done the thing

Automation that reads from the same database

BuildBase workflows run alongside users, emails, billing, and webhooks. When a workflow sends an email, it uses the same templates. When it checks a user attribute, it reads from the same database the application uses.

No external workflow vendor. No data syncing. No duplication of user records across services.

Visual workflow editor

Connect triggers, conditions, and actions in a node-based editor. Define logic visually, deploy immediately.

Trigger

New user registered

Wait

3 hours

Condition

Has user completed onboarding?

Yes → Action

Send “Tips” email

No → Action

Send “Complete setup” email

Workflow capabilities

User Onboarding

Welcome emails, activation reminders, feature discovery sequences, and setup checklists. Triggered automatically on signup.

Billing Automation

Trial ending warnings, payment failure follow-ups, upgrade prompts, and renewal reminders. Reacts to every billing event in the system.

Data Syncing

Push profile changes to a CRM via webhook. Update feature flags when a subscription changes. Keeps external systems in sync with internal state.

Drip Campaigns

Timed email sequences over days or weeks. Conditional branching based on user behavior. Sequences stop when the target action is completed.

Event Reactions

Form submission adds a user to an audience list and sends a notification. Subscription cancellation triggers a retention flow. Most platform events can start a workflow.

Retry & Recovery

Failed steps retry automatically with configurable backoff. Persistent failures move to a dead-letter queue for inspection and manual re-execution.

Production infrastructure

BuildBase workflows are powered by BullMQ - the same job queue used by Automattic and Figma. Every execution is logged, every failure is captured, and every workflow supports versioning and rollback.

  • BullMQ-powered workflows with Redis backing
  • Workflow versioning with publish/unpublish lifecycle
  • Execution instance tracking with full logs
  • Dead-letter queue for failed executions
  • Wait-for-event steps (pause until a condition is met)
  • Frequency caps to prevent notification fatigue
  • Real-time execution monitoring via WebSocket
  • Metrics aggregation for workflow analytics

Trigger workflows from code

Workflows start from 60+ built-in triggers automatically. Trigger them from the backend using webhooks, or subscribe to workflow events in application code.

Webhook handler - react to workflow eventsTSX
import { parseWebhookEvent } from '@buildbase/sdk';

export async function POST(req) {
  const body = await req.text();

  const parsed = parseWebhookEvent({
    body,
    signature: req.headers.get('x-buildbase-signature'),
    timestamp: req.headers.get('x-buildbase-timestamp'),
    secret: process.env.WEBHOOK_SECRET,
  });

  if (!parsed) {
    return Response.json({ error: 'Invalid signature' }, { status: 401 });
  }

  // React to workflow-triggered events
  if (parsed.event === 'audience.tag_added') {
    await syncToExternalCRM(parsed.data);
  }

  return Response.json({ received: true });
}

60+ built-in triggers

audience.member_created - new user signs up
subscription.upgraded - plan changes
subscription.trial_will_end - trial about to expire
payment.failed - charge declined
payment.refunded - money returned
form.submitted - public form completed
credit.low_balance - balance running low
workspace.member_added - team member invited
quota.limit_exceeded - usage hits cap

Frequently Asked Questions

What triggers are available?

60+ triggers - user signups, payment failures, trial expirations, form submissions and more.

Can workflows send emails?

Yes. The Send Email action uses templates created in the dashboard. Content is personalized with merge tags for user names, workspace details, and custom attributes.

What happens if a workflow step fails?

Each step is tried up to 3 times by default, with exponential backoff. If it still fails, the run is marked failed with the error, and you can retry that step without re-running the ones before it.

Can a workflow wait for something to happen?

Yes. The Wait-for-Event step pauses execution until a specific event occurs (e.g., user completes onboarding) with a configurable timeout.

How do I test workflows before publishing?

Two test modes: dry-run (simulates without side effects) and hot-run (executes without delays). Both run before publishing to production.

Can I version and roll back workflows?

Yes. Every publish creates an immutable version. New instances use the latest version. Running instances complete on their original version. Versions can be compared side-by-side.

Automate the first thing you keep doing by hand

Pick an event, add the steps, publish. It runs on every occurrence from then on, with retries.

7-day free trialNo credit card requiredCancel anytime