docs

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

Email

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.

braids.yaml
connectors:
  stripe:
    type: stripe
    config:
      api_key: ${STRIPE_API_KEY}

header

Custom header name, optionally with a prefix.

braids.yaml
connectors:
  shopify:
    type: shopify
    config:
      store: mystore
      access_token: ${SHOPIFY_TOKEN}
# Sends: X-Shopify-Access-Token: <token>

Discord example with prefix:

braids.yaml
connectors:
  discord:
    type: discord
    config:
      token: ${DISCORD_BOT_TOKEN}
# Sends: Authorization: Bot <token>

basic

HTTP Basic Auth (username:password base64 encoded).

braids.yaml
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.

braids.yaml
connectors:
  jsonplaceholder:
    type: jsonplaceholder

extra_headers

Additional headers for multi-part authentication (e.g., Plaid).

braids.yaml
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.

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.

Note

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:

connectors/my-api/connector.yaml
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:

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:

braids.yaml
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:

braids.yaml
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.