Connectors
Braids ships with 32 built-in connectors covering payments, e-commerce, developer tools, communication, and more.
Built-in Connectors#
AI
| Name | Description | Auth | Pagination |
|---|---|---|---|
openai |
AI and large language model API platform | bearer | none |
Authentication
| Name | Description | Auth | Pagination |
|---|---|---|---|
clerk |
Authentication and user management platform | bearer | none |
Cloud Infrastructure
| Name | Description | Auth | Pagination |
|---|---|---|---|
cloudflare |
Web performance and security platform | bearer | page |
digitalocean |
Cloud infrastructure provider for developers | bearer | link_header |
vercel |
Frontend deployment and serverless platform | bearer | none |
Communication
| Name | Description | Auth | Pagination |
|---|---|---|---|
discord |
Voice, video, and text communication platform | header | none |
slack |
Business communication and messaging platform | bearer | cursor |
twilio |
Cloud communications platform for SMS, voice, and messaging | basic | none |
zoom |
Video conferencing and online meetings platform | bearer | none |
CRM
| Name | Description | Auth | Pagination |
|---|---|---|---|
hubspot |
CRM, marketing, and sales platform | bearer | cursor |
Databases
| Name | Description | Auth | Pagination |
|---|---|---|---|
mongodb |
MongoDB database | extension | none |
mysql |
MySQL database | extension | none |
postgres |
PostgreSQL database | extension | none |
Developer Tools
| Name | Description | Auth | Pagination |
|---|---|---|---|
github |
Developer platform for version control and collaboration | bearer | link_header |
gitlab |
DevOps platform for the complete software development lifecycle | header | link_header |
E-Commerce
| Name | Description | Auth | Pagination |
|---|---|---|---|
shopify |
E-commerce platform for online stores | header | link_header |
shopify-storefront |
Shopify Storefront GraphQL API | header (graphql) | none |
| Name | Description | Auth | Pagination |
|---|---|---|---|
resend |
Email API for developers | bearer | none |
sendgrid |
Email delivery and marketing platform | bearer | none |
Infrastructure
| Name | Description | Auth | Pagination |
|---|---|---|---|
grpc |
gRPC service | extension | none |
Observability
| Name | Description | Auth | Pagination |
|---|---|---|---|
pagerduty |
Incident management and on-call scheduling platform | header | offset |
sentry |
Application monitoring and error tracking platform | bearer | link_header |
Media
| Name | Description | Auth | Pagination |
|---|---|---|---|
spotify |
Music streaming and audio content platform | bearer | offset |
Payments
| Name | Description | Auth | Pagination |
|---|---|---|---|
paypal |
Online payment system for money transfers | bearer | none |
plaid |
Financial data and banking API platform | header | none |
square |
Payment processing and point-of-sale | bearer | cursor |
stripe |
Payment processing platform | bearer | cursor |
Project Management
| Name | Description | Auth | Pagination |
|---|---|---|---|
asana |
Work management and team collaboration | bearer | offset |
jira |
Issue tracking and project management for software teams | basic | offset |
Scheduling
| Name | Description | Auth | Pagination |
|---|---|---|---|
calcom |
Open-source scheduling and calendar platform | bearer | none |
Testing
| Name | Description | Auth | Pagination |
|---|---|---|---|
dummyjson |
Fake REST API for testing and prototyping | none | none |
jsonplaceholder |
Free fake API for testing and prototyping | none | none |
Authentication Types#
bearer
Sends Authorization: Bearer <token>. This is the most common authentication method.
connectors:
stripe:
type: stripe
config:
api_key: ${STRIPE_API_KEY}
header
Custom header name, optionally with a prefix.
connectors:
shopify:
type: shopify
config:
store: mystore
access_token: ${SHOPIFY_TOKEN}
# Sends: X-Shopify-Access-Token: <token>
Discord example with prefix:
connectors:
discord:
type: discord
config:
token: ${DISCORD_BOT_TOKEN}
# Sends: Authorization: Bot <token>
basic
HTTP Basic Auth (username:password base64 encoded).
connectors:
jira:
type: jira
config:
domain: mycompany
email: ${JIRA_EMAIL}
api_token: ${JIRA_TOKEN}
query_param
Token sent as a URL query parameter.
# Token appended to request URL as ?key=<value>
none
No authentication required.
connectors:
jsonplaceholder:
type: jsonplaceholder
extra_headers
Additional headers for multi-part authentication (e.g., Plaid).
connectors:
plaid:
type: plaid
config:
client_id: ${PLAID_CLIENT_ID}
secret: ${PLAID_SECRET}
# Sends: PLAID-CLIENT-ID + PLAID-SECRET headers
Pagination Types#
cursor
Cursor-based pagination. Uses a cursor field from the response to fetch the next page. Used by: Stripe, Slack, HubSpot, Square.
link_header
RFC 5988 Link header. Follows rel="next" URL from the response Link header. Used by: GitHub, GitLab, Shopify, Sentry, DigitalOcean.
offset
Offset/limit pagination. Increments offset by limit each page. Used by: Jira, Asana, PagerDuty, Spotify.
page
Page number pagination. Increments the page number each request. Used by: Cloudflare.
Pagination is handled automatically. Braids fetches all pages and returns the complete dataset.
Custom Connectors#
Use type: path to define custom connectors from a local directory. Each custom connector lives in its own folder with a connector.yaml file.
Directory structure:
connectors/
my-api/
connector.yaml
The connector.yaml file defines the base URL, authentication, and available resources:
name: my-api
description: My custom API
base_url: https://api.example.com
auth:
type: bearer
token_field: api_key
resources:
users:
path: /v1/users
method: GET
data_field: data
user:
path: /v1/users/{id}
method: GET
Then reference the custom connector in your braids.yaml:
connectors:
my_api:
type: path
path: ./connectors/my-api
config:
api_key: ${MY_API_KEY}
OpenAPI Import#
Connectors can auto-discover resources from OpenAPI specs. When a connector has an openapi_url defined, running braids connectors update downloads and caches the spec locally. Resources are auto-discovered from the spec — every path and method combination becomes an available resource.
Explicit resource definitions in your connector.yaml always override auto-discovered ones, so you can customize individual endpoints while still benefiting from automatic discovery for the rest.
GraphQL Connectors#
GraphQL connectors (like shopify-storefront) send GraphQL queries instead of REST requests. Configure them the same way as REST connectors:
connectors:
storefront:
type: shopify-storefront
config:
store: mystore
storefront_token: ${STOREFRONT_TOKEN}
In endpoints, use query and variables fields. The connector sends the GraphQL query and extracts the data using the data_field path:
endpoints:
/products:
schema: products
sources:
- connector: storefront
resource: products
mapping:
id: id
title: title
The data_field extraction navigates nested GraphQL response structures automatically. For example, a response at data.products.edges[].node is flattened into a simple array of product objects before mapping is applied.