Actions & Integrations
Explore the full actions catalog, connect integration providers, and build a multi-step workflow.
What you'll be able to do after this module
- Identify all 15 integration plugins and the 3 system actions
- Set up an integration connection with encrypted credentials
- Build a multi-step workflow that chains AI generation with an external service
- Understand how integration credentials are managed securely
The Actions Catalog
Orchestrator groups actions by plugin (integration provider). Each plugin provides one or more actions — specialized operations you can drop into your workflow.
AI & ML Plugins
| Plugin | Actions | What it does |
|---|---|---|
| Skytells | Create Prediction, Generate Text, List Text Models, Create Image, Create Video, Get Prediction | Run Skytells AI models — text, image, and video generation |
| AI Gateway | Generate Text, Generate Image | Multi-provider AI (Claude, GPT, Gemini, Llama, Imagen, FLUX) |
| fal.ai | Generate Image, Generate Video, Upscale Image, Remove Background, Image to Image | Specialized media generation and manipulation |
| Perplexity | Search Web, Ask Question, Research Topic | AI-powered web search and deep research |
Developer Tools
| Plugin | Actions | What it does |
|---|---|---|
| GitHub | Create Issue, List Issues, Get Issue, Update Issue | Manage GitHub issues programmatically |
| Linear | Create Ticket, Find Issues | Create and search Linear project issues |
Communication
| Plugin | Actions | What it does |
|---|---|---|
| Resend | Send Email | Send transactional emails |
| Slack | Send Message | Post messages to Slack channels |
Business & SaaS
| Plugin | Actions | What it does |
|---|---|---|
| Stripe | Create Customer, Get Customer, Create Invoice | Billing and payment operations |
| Clerk | Get User, Create User, Update User, Delete User | User identity management |
| Webflow | List Sites, Get Site, Publish Site | CMS publishing |
| v0 | Create Chat, Send Message | AI UI generation conversations |
Data & Web
| Plugin | Actions | What it does |
|---|---|---|
| Firecrawl | Scrape URL, Search Web | Web scraping and search |
| Blob Storage | Put Blob, List Blobs | File storage operations |
Security
| Plugin | Actions | What it does |
|---|---|---|
| Superagent | Guard, Redact | Detect prompt injection and redact PII/PHI data |
System Actions (Built-in)
These three actions require no integration — they're built into every workflow:
| Action | What it does | Key fields |
|---|---|---|
| HTTP Request | Call any REST endpoint | endpoint, httpMethod, httpHeaders, httpBody |
| Database Query | Execute SQL queries | query (SQL string) |
| Condition | Branch workflow based on an expression | expression (boolean) — routes to true/false paths |
Setting Up Integrations
Before using a plugin's actions, you need to connect the provider with its credentials.
Open Connections
Click your user avatar in the top-right corner, then select Connections (or open the integrations panel).
Add a Connection
Click Add Connection and select the provider you want to connect (e.g., Skytells, Slack, GitHub).
Enter credentials
Each provider requires specific credentials:
| Provider | What you need |
|---|---|
| Skytells | Skytells API Key |
| GitHub | Personal Access Token |
| Slack | Bot Token (with chat:write scope) |
| Stripe | Secret Key (sk_live_ or sk_test_) |
| Resend | API Key + From Email |
| Linear | API Key + Team ID |
| Others | API Key |
Test and Save
Click Test to verify the credentials against the provider's API. If the test passes, click Save.
Credentials are encrypted with AES-256-GCM before storage. They are only decrypted at step execution time — never stored in logs, never exposed in the UI after saving. Integrations are owner-scoped: only you can see and use your connections.
Integration Behavior
- Reusable — one connection works across all your workflows
- Referenced, not embedded — action nodes store a reference to the integration, not the credentials themselves
- Duplicated workflows strip integration references — you must re-attach connections after duplicating
Building a Multi-Step Workflow
Let's build a practical workflow: scrape a URL → summarize the content → post to Slack.
Set up integrations
You'll need three connections:
- Firecrawl — for web scraping
- Skytells (or AI Gateway) — for text summarization
- Slack — for posting the result
Create the workflow
- Create a new workflow → Manual trigger (default)
- Click + → select Firecrawl → Scrape URL
- Click + → select Skytells → Generate Text
- Click + → select Slack → Send Message
Configure each action
Scrape URL:
- Integration: your Firecrawl connection
- URL:
https://example.com/article
Generate Text:
- Integration: your Skytells connection
- Model: pick a text model
- Prompt:
Summarize the following content in 3 bullet points: {{@node2:Scrape URL.markdown}}
Send Message:
- Integration: your Slack connection
- Channel:
#summaries - Message:
{{@node3:Generate Text.text}}
The {{@nodeId:Label.field}} syntax is how you reference output from previous steps. You'll learn this in detail in Module 3.
Run and verify
Click Run. Watch each node turn green in sequence. Open the Runs panel to inspect per-step inputs and outputs.
Standard Output Format
Every action returns data in a consistent structure:
{
"success": true,
"data": { /* action-specific output fields */ },
"error": null
}On failure:
{
"success": false,
"data": null,
"error": "Detailed error message"
}When you reference a field with {{@nodeId:Label.field}}, the variable system automatically unwraps into the data object — so {{@node:Generate Text.text}} accesses data.text directly.
What you now understand
| Concept | What it means |
|---|---|
| Plugin | An integration provider offering one or more actions |
| Action | A specific operation within a plugin (e.g., Generate Text, Send Email) |
| Integration | A saved, encrypted provider connection usable across workflows |
| System actions | HTTP Request, Database Query, Condition — built-in, no provider needed |
| Standard output | { success, data, error } — consistent across all actions |
Up next: Data Flow & Conditions — master template variables and conditional branching.