Detected country: US
logo
Sign InBook a Demo
GuideRecipesDeveloper

Developer Docs

  • Developer foundations
    • How do I authenticate with the Ballet API?
    • How do I connect to Ballet's MCP endpoint?
    • How do I run a playbook over the REST API?
    • How do I stream playbook run events?
    • How do I trigger and react to playbooks with webhooks?
    • How do I wake a suspended run with reply or resume?
  • How do I use Ballet playbooks in an agent framework?
    • How do I call Ballet playbooks from Google ADK?
    • How do I call Ballet playbooks from LangChain?
    • How do I call Ballet playbooks from Mastra?
    • How do I call Ballet playbooks from Pydantic AI?
    • How do I call Ballet playbooks from the Vercel AI SDK?
  • How do playbooks connect to external systems?
    • How do I call external APIs and SDKs from a playbook?
    • How do I connect external MCP servers to playbooks?
    • How do I use secrets and env vars in steps?
  • Introduction
Loading…
logo

Powered by

How do playbooks connect to external systems?

TL;DR: Playbooks reach the outside world three ways: connect an external MCP server and call its tools, make direct HTTP calls (or define reusable custom HTTP tools), and use SDKs inside Code steps. Credentials are always supplied from Secrets — never hardcoded — and referenced with ${VAR} in headers and steps.

Who this is for

Developers wiring playbooks to APIs, SaaS tools, databases, and SDKs.

What are my options?

ApproachUse it forDoc
MCP connectorsServices with an MCP server (Slack, Linear, GitHub, Stripe, …)Connect external MCP servers
HTTP and custom toolsAny REST/HTTP API, including ones you wrap as reusable toolsHTTP and custom tools
SDKs in Code stepsCalling an SDK (including AI SDKs) from codeHTTP and custom tools

All of these read credentials from Secrets.

How do I choose?

  • If the service publishes an MCP server, connect it — you get typed tools with OAuth or API-key auth and no glue code.
  • If it's a plain REST API, use an HTTP step, and promote it to a custom tool when several playbooks need it.
  • If you need data transforms, batching, or an SDK, do it in a Code step.

Related articles

  • How do I connect an MCP server?
  • What is a connector and how do I browse the registry?
  • How do I edit steps (Code and HTTP)?
  • How do I store credentials with Secrets?