Connectors
16 built-in connectors pull signals from your business tools. Each connector supports full sync, incremental sync, and real-time webhooks.
Available Connectors
💳
Stripe
Finance
🎯
HubSpot
Sales
🐙
GitHub
Engineering
📋
Jira
Engineering
🔷
Linear
Engineering
💬
Intercom
Support
🎫
Zendesk
Support
📡
Slack
Communication
📝
Notion
Knowledge
📅
Google Calendar
Operations
📊
Xero
Finance
📧
Mailchimp
Marketing
🏦
Plaid
Finance
☁️
AWS CloudWatch
Infrastructure
🐶
Datadog
Monitoring
🔌
Generic API
Any
Stripe Connector
stripe-connector.tstypescript
import { createStripeConnector } from '@brainos/workers';
const stripe = createStripeConnector(process.env.STRIPE_API_KEY!);
// Full sync — pulls all historical data
await stripe.fullSync(supabase, 'org_123');
// Incremental sync — only new data since last sync
await stripe.incrementalSync(supabase, 'org_123', lastSyncDate);
// Real-time — handle Stripe webhooks
const signals = stripe.handleWebhook(stripeWebhookPayload);
// Generates: payment_success, payment_failed, subscription_mrr, churn_riskHubSpot Connector
hubspot-connector.tstypescript
import { createHubSpotConnector } from '@brainos/workers';
const hubspot = createHubSpotConnector(process.env.HUBSPOT_API_KEY!);
await hubspot.fullSync(supabase, 'org_123');
// Generates: deal_stage, deal_amount, deal_probabilityBuild Custom Connectors
custom-connector.tstypescript
import type { BrainOSConnector } from '@brainos/workers';
const myConnector: BrainOSConnector = {
name: 'my-crm',
domain: 'sales',
async fullSync(supabase, orgId) {
const data = await fetchFromMyCRM();
const signals = data.map(item => ({
source_domain: 'sales',
signal_type: 'deal_closed',
signal_value: item.amount,
entity_id: item.customerId,
signal_timestamp: item.closedAt,
}));
await storeConnectorSignals(supabase, orgId, signals);
return { signalCount: signals.length };
},
async incrementalSync(supabase, orgId, since) {
// Same as fullSync but filtered by date
},
handleWebhook(payload) {
return [/* signals */];
},
};Webhook Receiver
Deploy the brainos-webhook edge function for real-time ingestion:
webhook-endpointbash
POST https://your-project.supabase.co/functions/v1/brainos-webhook?source=stripe&org=org_123
# Stripe sends webhooks here automatically.
# Supported sources: stripe, hubspot, intercom, slack