Skip to content

Integrations Overview

Backflow supports 50+ integrations via built-in connectors and custom configurations.

Built-in Integrations

IntegrationDescription
JIRAIssues, projects, sprints, users
GitHubIssues, pull requests, repositories
StripePayments, subscriptions, customers
SlackMessages, notifications
SendGridEmail delivery
TwilioSMS, WhatsApp
PolarSubscriptions, benefits

Configuration

Add credentials in config.json:

json
{
  "credentials": {
    "jira": {
      "baseUrl": "https://your-org.atlassian.net",
      "email": "{{env.JIRA_EMAIL}}",
      "apiToken": "{{env.JIRA_API_TOKEN}}"
    },
    "stripe": {
      "secretKey": "{{env.STRIPE_SECRET_KEY}}"
    },
    "slack": {
      "webhookUrl": "{{env.SLACK_WEBHOOK_URL}}"
    }
  }
}

Using in Routes

Direct Integration

json
{
  "path": "/notify",
  "method": "post",
  "integrations": [{
    "type": "slack",
    "action": "sendMessage",
    "params": {
      "channel": "#alerts",
      "text": "{{body.message}}"
    }
  }]
}

Chained Operations

json
{
  "path": "/order",
  "method": "post",
  "supabaseQueries": [{
    "table": "orders",
    "operation": "insert"
  }],
  "integrations": [
    { "type": "stripe", "action": "createPaymentIntent" },
    { "type": "sendgrid", "action": "sendEmail" },
    { "type": "slack", "action": "sendMessage" }
  ]
}

In Workflows

json
{
  "steps": [
    {
      "id": "fetch-ticket",
      "type": "integration",
      "integration": "jira",
      "action": "getIssue",
      "params": { "issueKey": "{{input.key}}" }
    },
    {
      "id": "notify",
      "type": "integration",
      "integration": "slack",
      "action": "sendMessage",
      "params": {
        "text": "Ticket: {{steps.fetch-ticket.result.fields.summary}}"
      }
    }
  ]
}

Custom Integrations

Add any REST API:

json
{
  "customIntegrations": [{
    "name": "myapi",
    "baseUrl": "https://api.example.com",
    "auth": {
      "type": "bearer",
      "token": "{{env.API_KEY}}"
    },
    "actions": {
      "getData": { "method": "GET", "path": "/data" }
    }
  }]
}

Learn more about Custom Integrations →

OAuth2 Integrations

For APIs requiring OAuth2:

json
{
  "credentials": {
    "salesforce": {
      "oauth2": {
        "clientId": "{{env.SF_CLIENT_ID}}",
        "clientSecret": "{{env.SF_CLIENT_SECRET}}",
        "accessToken": "{{env.SF_ACCESS_TOKEN}}",
        "refreshToken": "{{env.SF_REFRESH_TOKEN}}",
        "tokenUrl": "https://login.salesforce.com/services/oauth2/token"
      }
    }
  }
}

Learn more about OAuth2 →

Integration Files

Store integrations in ./integrations/:

integrations/
├── jira.json
├── github.json
├── custom-api.json
└── salesforce.json

Auto-loaded on startup.

Released under the ISC License.