- **Manual Trigger** — Run the workflow on demand with the **Run** button
- **Input Trigger** — Define a form with custom fields that users fill out before each run
- **Webhook Trigger** — Start the workflow when an external system sends an HTTP request
- **Chat Trigger** — Start the workflow from a conversational chat interface
- **Schedule Trigger** — Run automatically on a recurring schedule (daily, weekly, monthly, hourly)
- **Stripe, Typeform, Notion, Google Forms** — Start when events happen in those services
For your first workflow, **Manual Trigger** is the simplest choice.
Click the **+** button below your trigger to add nodes. Browse by category or search for what you need:
- **AI** — Generate text with Gemini models
- **Communication** — Send messages via Slack, Discord, Gmail, Teams, Telegram, or Resend
- **Google Suite** — Work with Docs, Sheets, Calendar, Drive, Slides, Forms, and Groups
- **Microsoft** — Excel, Word, OneDrive, Outlook, Planner, SharePoint, and Teams
- **Data** — Airtable, HubSpot, Apollo, Notion, Trello, GitHub
- **Search** — Tavily, Exa, Firecrawl, Ahrefs, Polymarket
- **Logic** — Conditions, routers, code execution, array transforms, sleep, CSV export
Drag from one node's output handle to another node's input handle to create connections. Click any node to open its configuration panel on the right side.
Use `{{variableName.output.field}}` syntax to reference data from previous nodes. The variable picker (click the `{ }` icon in any text field) shows all available variables.
Click the **Run** button in the editor toolbar. You will see each node execute in sequence, with status indicators showing progress. Click any completed node to inspect its output.