Connecting Integrations
Link your tools and services to FlowMaestro.
Overview
FlowMaestro connects to 150+ services across categories:
| Category | Examples |
|---|---|
| Communication | Slack, Discord, Teams, Email |
| CRM | HubSpot, Salesforce, Pipedrive |
| E-commerce | Shopify, Stripe, WooCommerce |
| Productivity | Google Sheets, Notion, Airtable |
| Development | GitHub, Jira, Linear |
Connection Methods
OAuth Flow (Recommended)
Most integrations use OAuth for secure authentication:
- Go to Settings > Connections
- Click Add Connection
- Select the provider (e.g., Slack)
- Click Connect
- Authorize in the provider's OAuth window
- Grant requested permissions
- Return to FlowMaestro
What happens during OAuth:
- You're redirected to the provider's login
- You authorize FlowMaestro to access your account
- Provider sends back secure access tokens
- Tokens are encrypted and stored securely
API Key Connections
Some services use API keys instead:
- Go to Settings > Connections
- Click Add Connection
- Select the provider
- Enter your API key
- Click Save
Getting your API key:
| Provider | Where to Find |
|---|---|
| OpenAI | platform.openai.com/api-keys |
| Anthropic | console.anthropic.com/settings/keys |
| Stripe | dashboard.stripe.com/apikeys |
| SendGrid | app.sendgrid.com/settings/api_keys |
| Airtable | airtable.com/account |
API Key Security:
- Keys are encrypted at rest
- Never exposed in logs or UI
- Can be rotated without downtime
Connecting Common Services
Slack
- Add Slack connection
- Click Connect
- Select your Slack workspace
- Approve FlowMaestro app permissions
Required scopes:
chat:write— Send messageschannels:read— List channelsusers:read— Get user info
Using in workflows:
{
provider: "slack",
operation: "send_message",
connectionId: "conn_slack_main",
parameters: {
channel: "#alerts",
message: "New order received: {{order.id}}"
}
}
HubSpot
- Add HubSpot connection
- Click Connect
- Log in to your HubSpot account
- Approve permissions
Available operations:
search_contacts— Find contactscreate_contact— Add new contactupdate_deal— Modify dealsadd_note— Add timeline notes
Example: Create contact from form:
{
provider: "hubspot",
operation: "create_contact",
connectionId: "conn_hubspot",
parameters: {
email: "{{trigger.body.email}}",
firstname: "{{trigger.body.firstName}}",
lastname: "{{trigger.body.lastName}}",
company: "{{trigger.body.company}}"
}
}
GitHub
- Add GitHub connection
- Click Connect
- Authorize FlowMaestro GitHub App
- Select repositories to access
Available operations:
create_issue— Open new issuecreate_pr— Create pull requestadd_comment— Comment on issue/PRtrigger_workflow— Run GitHub Actions
Google Sheets
- Add Google Sheets connection
- Click Connect
- Sign in with Google
- Allow access to Google Sheets
Example: Append row:
{
provider: "google_sheets",
operation: "append_row",
connectionId: "conn_google",
parameters: {
spreadsheetId: "1abc...",
range: "Sheet1!A:D",
values: [
"{{trigger.body.name}}",
"{{trigger.body.email}}",
"{{trigger.body.phone}}",
"{{now()}}"
]
}
}
Shopify
- Add Shopify connection
- Enter your store URL (e.g.,
mystore.myshopify.com) - Install the FlowMaestro app
- Approve permissions
Using in workflows:
{
provider: "shopify",
operation: "get_order",
connectionId: "conn_shopify",
parameters: {
orderId: "{{trigger.body.orderId}}"
}
}
Multiple Connections
Connect multiple accounts from the same service:
- Click Add Connection again
- Give it a unique name (e.g., "Slack - Marketing Team")
- Authorize the new account
Use cases:
- Different Slack workspaces
- Multiple Shopify stores
- Separate HubSpot portals
Selecting connection in workflows:
{
provider: "slack",
connectionId: "conn_slack_marketing", // Specific connection
operation: "send_message",
parameters: { ... }
}
Testing Connections
Connection Health Check
- Go to Settings > Connections
- Find your connection
- Click Test
- View test results
Test checks:
- Token validity
- API accessibility
- Required permissions
Test in Workflow
- Create a simple test workflow
- Add an integration node
- Configure with test parameters
- Run and verify output
// Test Slack connection
{
provider: "slack",
operation: "list_channels",
connectionId: "conn_slack_main"
}
// Should return list of channels
Troubleshooting
Connection Issues
| Issue | Cause | Solution |
|---|---|---|
| Connection failed | Missing permissions | Reconnect with admin account |
| Token expired | OAuth token expired | Click Reconnect |
| Rate limited | Too many requests | Add delays between calls |
| Invalid API key | Key revoked or wrong | Generate new key |
| Missing scopes | Insufficient permissions | Reconnect, grant more scopes |
Reconnecting
If a connection stops working:
- Go to Settings > Connections
- Find the problematic connection
- Click Reconnect
- Re-authorize in provider's OAuth flow
Checking Permissions
Some operations require specific permissions:
Slack:
- Sending DMs needs
im:write - Posting in private channels needs channel membership
GitHub:
- Creating PRs needs write access
- Accessing private repos needs explicit approval
HubSpot:
- Creating contacts needs CRM permissions
- Sending emails needs marketing permissions
Debug Mode
Enable verbose logging:
- Go to workflow settings
- Enable Debug Mode
- Run the workflow
- Check execution logs for API details
[DEBUG] Integration: slack.send_message
[DEBUG] Request: POST https://slack.com/api/chat.postMessage
[DEBUG] Response: 200 OK { ok: true, ts: "1234567890.123456" }
Common Error Messages
| Error | Meaning | Fix |
|---|---|---|
invalid_auth | Bad or expired token | Reconnect |
channel_not_found | Channel doesn't exist | Check channel name |
rate_limited | Too many requests | Add retry with backoff |
missing_scope | Need more permissions | Reconnect with scopes |
not_found | Resource doesn't exist | Verify ID/name |
Security Best Practices
Token Management
- Connections use encrypted token storage
- Tokens never exposed in logs
- Automatic token refresh when supported
Least Privilege
- Only grant permissions you need
- Use separate connections for different purposes
- Regularly audit connected apps in providers
Monitoring
- Review connection usage in dashboard
- Set up alerts for failed operations
- Rotate API keys periodically
Next Steps
- Available Integrations — All 150+ services
- Using AI Nodes — AI-powered workflows
- Your First Workflow — Build a complete workflow