Integrations Guide
Backflow supports 50+ integrations via built-in connectors and custom configurations.
Built-in Integrations
- JIRA - Issues, projects, sprints
- GitHub - Issues, pull requests
- Stripe - Payments, subscriptions
- Slack - Messages, notifications
- SendGrid - Email delivery
- Twilio - SMS, WhatsApp
- Polar - Subscriptions, benefits
Configuration
Global Credentials
json
{
"credentials": {
"stripe": {
"secretKey": "{{env.STRIPE_SECRET_KEY}}"
},
"jira": {
"baseUrl": "https://your-org.atlassian.net",
"email": "{{env.JIRA_EMAIL}}",
"apiToken": "{{env.JIRA_API_TOKEN}}"
},
"sendgrid": {
"apiKey": "{{env.SENDGRID_API_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",
"data": { "product_id": "{{body.product_id}}" }
}],
"integrations": [
{
"type": "stripe",
"action": "createPaymentIntent",
"params": { "amount": "{{body.amount}}" }
},
{
"type": "sendgrid",
"action": "sendEmail",
"params": {
"to": "{{body.email}}",
"subject": "Order Confirmation"
}
}
]
}Integration Actions
JIRA
| Action | Description |
|---|---|
getIssue | Get issue by key |
createIssue | Create new issue |
updateIssue | Update issue fields |
searchIssues | JQL search |
getProjects | List projects |
getTransitions | Get transitions |
transitionIssue | Change status |
GitHub
| Action | Description |
|---|---|
getIssue | Get issue |
createIssue | Create issue |
listIssues | List issues |
createPullRequest | Create PR |
getPullRequest | Get PR details |
Stripe
| Action | Description |
|---|---|
createPaymentIntent | Create payment |
createCustomer | Create customer |
createSubscription | Create subscription |
listPayments | List payments |
SendGrid
| Action | Description |
|---|---|
sendEmail | Send email |
sendTemplate | Send template email |
Slack
| Action | Description |
|---|---|
sendMessage | Send message |
sendBlocks | Send rich blocks |
Twilio
| Action | Description |
|---|---|
sendSms | Send SMS |
sendWhatsApp | Send WhatsApp |
Custom Integrations
Define custom API integrations:
json
{
"customIntegrations": [
{
"name": "myapi",
"baseUrl": "https://api.example.com",
"auth": {
"type": "bearer",
"token": "{{env.MY_API_KEY}}"
},
"actions": {
"getData": {
"method": "GET",
"path": "/data"
},
"postData": {
"method": "POST",
"path": "/data",
"body": "{{params}}"
}
}
}
]
}OAuth2 Integrations
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"
}
}
}
}Integration Files
Store integrations in ./integrations/:
integrations/
├── jira.json
├── github.json
├── custom-api.json
└── salesforce.jsonEndpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /integrations/jira/issues/:key | Get JIRA issue |
| POST | /integrations/jira/issues | Create issue |
| GET | /integrations/github/repos/:owner/:repo/issues | List issues |
| POST | /integrations/stripe/payment-intents | Create payment |
| POST | /integrations/slack/messages | Send message |