# Bananaflow AI - [Introduction](https://docs.bananaflow.ai/getting-started/index.md) - [Your First Agent in 5 Minutes](https://docs.bananaflow.ai/getting-started/first-agent.md): Build and talk to a working voice agent in five minutes using Web Calls – no telephony setup required. - [Trigger Calls using API](https://docs.bananaflow.ai/getting-started/trigger-calls-from-your-backend.md): Kick off a call the moment a lead lands in your CRM or spreadsheet, no manual dialing. - [Sync Data using Webhook](https://docs.bananaflow.ai/getting-started/send-call-data-with-webhooks.md): Get everything Bananaflow learned during the call back into your system the moment it ends. - [Connect with Telephony](https://docs.bananaflow.ai/getting-started/connect-telephony.md): Hook up Twilio so Bananaflow can make and receive real calls, not just browser test calls. - [Use External Tools, Knowledge](https://docs.bananaflow.ai/getting-started/add-tools-and-knowledge-base.md): Make your agent do something during the call, not just talk. Connect it to live data and your company documents. - [How Bananaflow Works](https://docs.bananaflow.ai/core-concepts/how-bananaflow-works.md): The big picture – from API call to phone conversation to transcript - [Workflows & Agents](https://docs.bananaflow.ai/core-concepts/workflows-and-agents.md): How conversation flows are defined in Bananaflow - [Calls & Runs](https://docs.bananaflow.ai/core-concepts/calls-and-runs.md): The lifecycle of a call and how runs capture its results - [Context & Variables](https://docs.bananaflow.ai/core-concepts/context-and-variables.md): How data flows into, through, and out of a conversation - [Campaigns](https://docs.bananaflow.ai/core-concepts/campaigns.md): Running a voice agent against a list of contacts at scale - [Voice](https://docs.bananaflow.ai/configurations/voice.md): Pick the voice your agent speaks with. Each voice comes with the speech-to-text, LLM and text-to-speech models it runs on, managed by Bananaflow. - [API Keys](https://docs.bananaflow.ai/configurations/api-keys.md): You can create API Keys to trigger Bananaflow Voice Agents - [Agent UUID](https://docs.bananaflow.ai/configurations/agent-uuid.md): Find and use your workflow's stable Agent UUID - [Interruption Handling](https://docs.bananaflow.ai/configurations/interruption.md): Control whether users can interrupt the bot while it is speaking by configuring the Allow Interruption toggle on each node. - [Tracing](https://docs.bananaflow.ai/configurations/tracing.md): Trace your agent runs to debug issues, understand LLM behavior, and refine your prompts. - [Call events](https://docs.bananaflow.ai/configurations/call-events.md): Export per-call diagnostics to your organization's BigQuery table. - [Voice Agent Builder](https://docs.bananaflow.ai/voice-agent/introduction.md): Bananaflow's voice agent builder lets you design a conversation as a graph of nodes and pathways. Learn the graph model, the available node types, and where to start. - [Editing a Workflow](https://docs.bananaflow.ai/voice-agent/editing-a-workflow.md): Learn the fundamentals of building workflows with nodes, pathways, and conversation flow in the voice agent builder. - [Pre-recorded Audio](https://docs.bananaflow.ai/voice-agent/pre-recorded-audio.md): Build hybrid voice agents that combine pre-recorded audio with dynamic text generation for lower latency and natural-sounding conversations. - [Template Variables](https://docs.bananaflow.ai/voice-agent/template-variables.md): You can use Template Variables in your prompts for your Agent nodes, or when constructing the payload for the Webhook Node - [Pre-Call Data Fetch](https://docs.bananaflow.ai/voice-agent/pre-call-data-fetch.md): Fetch customer data from your CRM or ERP before the call starts, so your voice agent can greet callers by name and reference their account details. - [Tools](https://docs.bananaflow.ai/voice-agent/tools/introduction.md): Extend your voice agent's capabilities by giving it tools to perform actions during live conversations. - [Call Transfer](https://docs.bananaflow.ai/voice-agent/tools/call-transfer.md): Transfer live telephony calls using static destinations, ordered context mappings, or dynamic resolution. - [Transfer to Agent](https://docs.bananaflow.ai/voice-agent/tools/transfer-agent.md): Hand a live call from one Bananaflow agent to another, carrying a handover note so the caller never repeats themselves. - [End Call](https://docs.bananaflow.ai/voice-agent/tools/end-call.md): Allow your AI agent to terminate calls when conversations reach a natural conclusion or specific conditions are met. - [HTTP API](https://docs.bananaflow.ai/voice-agent/tools/http-api.md): Create REST API tools that your AI agent can invoke during conversations to integrate with external systems. - [MCP Tool](https://docs.bananaflow.ai/voice-agent/tools/mcp-tool.md): Connect an external MCP server to your voice agent so the LLM can call remote tools during a live conversation. - [Knowledge Base](https://docs.bananaflow.ai/voice-agent/knowledge-base.md): Upload documents that your voice agent can reference during live conversations to provide accurate, context-aware responses. - [Start Call](https://docs.bananaflow.ai/voice-agent/start-call.md): You can use Start Call node to Start the call and configure how Agent greets the user when the conversation starts. - [End Call](https://docs.bananaflow.ai/voice-agent/end-call.md): You can use End Call node to configure how the Agent says its final message right before the call is terminated - [Agent Node](https://docs.bananaflow.ai/voice-agent/agent.md): Agent node contains the prompts that drives the conversation with the Voice Agent - [Global Node](https://docs.bananaflow.ai/voice-agent/global.md): Global Node contains the common prompt that is prepended to the prompt of every node, in which `Add Global Prompt` is turned on. - [QA](https://docs.bananaflow.ai/voice-agent/qa.md): QA node allows you to run post-call quality analysis on your Voice Agent runs - [API Trigger](https://docs.bananaflow.ai/voice-agent/api-trigger.md): Trigger outbound calls from external systems like n8n, Zapier, or your own backend - [Webhook](https://docs.bananaflow.ai/voice-agent/webhook.md): Webhook node allow you to sync the result of Voice Agent runs to your external systems, like CRM or to other workflow orchestrator like Zapier or n8n. - [Add to Website](https://docs.bananaflow.ai/voice-agent/add-to-website.md): Add your agent to any website. Visitors can type, call, or do both in one conversation. - [Telephony Integration](https://docs.bananaflow.ai/integrations/telephony/overview.md): Connect voice agents with telephony providers for inbound and outbound calls - [Inbound Calling](https://docs.bananaflow.ai/integrations/telephony/inbound.md): Configure inbound calling for Twilio, Vonage, Plivo, Telnyx, Cloudonix, Exotel, Vobiz, and Asterisk ARI providers in Bananaflow AI - [Twilio Integration](https://docs.bananaflow.ai/integrations/telephony/twilio.md): Configure Twilio for voice communication in Bananaflow AI - [Vonage Integration](https://docs.bananaflow.ai/integrations/telephony/vonage.md): Configure Vonage (Nexmo) for voice communication in Bananaflow AI - [Plivo Integration](https://docs.bananaflow.ai/integrations/telephony/plivo.md): Configure Plivo for voice communication in Bananaflow AI - [Telnyx Integration](https://docs.bananaflow.ai/integrations/telephony/telnyx.md): Configure Telnyx for voice communication in Bananaflow AI - [Cloudonix Integration](https://docs.bananaflow.ai/integrations/telephony/cloudonix.md): Configure Cloudonix for voice communication in Bananaflow AI - [Exotel Integration](https://docs.bananaflow.ai/integrations/telephony/exotel.md): Configure Exotel for voice communication in Bananaflow AI - [Vobiz Integration](https://docs.bananaflow.ai/integrations/telephony/vobiz.md): Configure Vobiz for voice communication in Bananaflow AI - [Asterisk ARI Integration](https://docs.bananaflow.ai/integrations/telephony/asterisk-ari.md): Connect Bananaflow AI to your Asterisk PBX using the Asterisk REST Interface (ARI) - [VICIdial Integration](https://docs.bananaflow.ai/integrations/telephony/vicidial.md): Connect Bananaflow to VICIdial through Asterisk ARI for call control, in-group transfers, and lead updates - [Webhooks and Callbacks](https://docs.bananaflow.ai/integrations/telephony/webhooks.md): How Bananaflow AI handles telephony webhooks and audio streaming - [Agent Stream](https://docs.bananaflow.ai/integrations/telephony/agent-stream.md): Stream audio to a Bananaflow agent over a WebSocket - [MCP Server](https://docs.bananaflow.ai/integrations/mcp.md): Connect Codex, Claude, and other AI assistants to your Bananaflow workspace via the Model Context Protocol - [Tuner Integration](https://docs.bananaflow.ai/integrations/tuner.md): Connect Bananaflow to Tuner – the observability, simulation, and testing layer for voice - [Paygent Integration](https://docs.bananaflow.ai/integrations/paygent.md): Connect Bananaflow to Paygent – real-time cost tracking, multimodal usage monitoring, and billing for voice agents - [Noveum Integration](https://docs.bananaflow.ai/integrations/noveum.md): Connect Bananaflow to Noveum – full-call tracing, audio capture, and AI-powered evaluation for your voice agents - [Workflow Definition Schema](https://docs.bananaflow.ai/developer/workflow-schema.md): Schema reference for the workflow_definition object used in the Agents API - [Call Dispositions](https://docs.bananaflow.ai/developer/call-dispositions.md): Configure workflow-specific business outcomes and use them consistently across Bananaflow - [Webhook Payloads](https://docs.bananaflow.ai/developer/webhooks.md): Context variables available in webhook nodes and the data Bananaflow sends after a call - [Overview](https://docs.bananaflow.ai/api-reference/api-keys.md): Create and manage API keys for programmatic access - [Create API Key](https://docs.bananaflow.ai/api-reference/api-keys/create.md): Create a new API key for programmatic access - [List API Keys](https://docs.bananaflow.ai/api-reference/api-keys/list.md): Retrieve all API keys for your organization - [Archive API Key](https://docs.bananaflow.ai/api-reference/api-keys/archive.md): Deactivate an API key by ID - [Reactivate API Key](https://docs.bananaflow.ai/api-reference/api-keys/reactivate.md): Reactivate a previously archived API key - [Overview](https://docs.bananaflow.ai/api-reference/agents.md): Create and manage voice agents (workflows) via the API - [Create from Definition](https://docs.bananaflow.ai/api-reference/agents/create-from-definition.md): Create a voice agent from an explicit workflow definition - [Create from Template](https://docs.bananaflow.ai/api-reference/agents/create-from-template.md): Generate a voice agent from a natural language description - [List Agents](https://docs.bananaflow.ai/api-reference/agents/list.md): Retrieve all agents in your organization - [Get Agent Count](https://docs.bananaflow.ai/api-reference/agents/count.md): Get the total number of agents broken down by status - [Get Agent](https://docs.bananaflow.ai/api-reference/agents/get.md): Retrieve a single agent by ID, including its full workflow definition - [Update Agent](https://docs.bananaflow.ai/api-reference/agents/update.md): Update an agent's name, workflow definition, or configuration - [Archive Agent](https://docs.bananaflow.ai/api-reference/agents/archive.md): Archive or restore a voice agent - [Validate Workflow](https://docs.bananaflow.ai/api-reference/agents/validate.md): Validate a workflow definition without executing it - [Create Test Run](https://docs.bananaflow.ai/api-reference/agents/runs/create.md): Execute a workflow without placing a real phone call - [List Runs](https://docs.bananaflow.ai/api-reference/agents/runs/list.md): Retrieve all runs for a workflow - [Get Run](https://docs.bananaflow.ai/api-reference/agents/runs/get.md): Retrieve a single workflow run by ID - [Overview](https://docs.bananaflow.ai/api-reference/runs.md): Create and inspect agent runs via the API - [Trigger an Outbound Agent Run by API Trigger Node](https://docs.bananaflow.ai/api-reference/runs/trigger.md): Start an outbound agent run using an API Trigger node UUID - [Trigger an Outbound Agent Run by Agent UUID](https://docs.bananaflow.ai/api-reference/runs/trigger-workflow.md): Start an outbound agent run using a workflow's stable Agent UUID - [Retrieve Agent Run Details](https://docs.bananaflow.ai/api-reference/runs/get-run.md): Get the details, transcript, and recording for an agent run - [List Runs with Usage](https://docs.bananaflow.ai/api-reference/runs/list-runs.md): Paginated list of workflow runs across the organization with usage and cost - [Download Recordings and Transcripts](https://docs.bananaflow.ai/api-reference/runs/download.md): Download a recording or transcript using a time-limited public URL - [Overview](https://docs.bananaflow.ai/api-reference/campaigns.md): Create and manage outbound calling campaigns - [Upload Contacts CSV](https://docs.bananaflow.ai/api-reference/campaigns/upload-contacts.md): Get a presigned S3 URL to upload a contacts CSV for a campaign - [Create Campaign](https://docs.bananaflow.ai/api-reference/campaigns/create.md): Create a new outbound calling campaign - [List Campaigns](https://docs.bananaflow.ai/api-reference/campaigns/list.md): Retrieve all campaigns for your organization - [Get Campaign](https://docs.bananaflow.ai/api-reference/campaigns/get.md): Retrieve a single campaign by ID - [Update Campaign](https://docs.bananaflow.ai/api-reference/campaigns/update.md): Update campaign settings - [Start Campaign](https://docs.bananaflow.ai/api-reference/campaigns/start.md): Start dialing contacts in a campaign - [Pause Campaign](https://docs.bananaflow.ai/api-reference/campaigns/pause.md): Temporarily stop a running campaign - [Resume Campaign](https://docs.bananaflow.ai/api-reference/campaigns/resume.md): Resume a paused campaign - [Get Campaign Progress](https://docs.bananaflow.ai/api-reference/campaigns/progress.md): Get the current progress of a campaign - [Get Campaign Runs](https://docs.bananaflow.ai/api-reference/campaigns/runs.md): Retrieve individual run records for each contact in a campaign - [Overview](https://docs.bananaflow.ai/api-reference/telephony-configs.md): Configure telephony providers and manage phone numbers - [List Supported Providers](https://docs.bananaflow.ai/api-reference/telephony-configs/providers.md): Discover available telephony providers and the credential fields each one requires - [List Configurations](https://docs.bananaflow.ai/api-reference/telephony-configs/list.md): List all telephony configurations in your organization - [Create Configuration](https://docs.bananaflow.ai/api-reference/telephony-configs/create.md): Create a new telephony configuration - [Get Configuration](https://docs.bananaflow.ai/api-reference/telephony-configs/get.md): Retrieve a telephony configuration by id - [Update Configuration](https://docs.bananaflow.ai/api-reference/telephony-configs/update.md): Rename a configuration or rotate its credentials - [Delete Configuration](https://docs.bananaflow.ai/api-reference/telephony-configs/delete.md): Delete a telephony configuration - [Set Default Outbound](https://docs.bananaflow.ai/api-reference/telephony-configs/set-default-outbound.md): Designate this configuration as the org-wide default for outbound calls - [List Phone Numbers](https://docs.bananaflow.ai/api-reference/telephony-configs/phone-numbers/list.md): List phone numbers attached to a telephony configuration - [Add Phone Number](https://docs.bananaflow.ai/api-reference/telephony-configs/phone-numbers/create.md): Attach a new phone number to a telephony configuration - [Get Phone Number](https://docs.bananaflow.ai/api-reference/telephony-configs/phone-numbers/get.md): Retrieve a phone number by id - [Update Phone Number](https://docs.bananaflow.ai/api-reference/telephony-configs/phone-numbers/update.md): Update label, inbound binding, or activation state of a phone number - [Delete Phone Number](https://docs.bananaflow.ai/api-reference/telephony-configs/phone-numbers/delete.md): Remove a phone number from a telephony configuration - [Set Default Caller](https://docs.bananaflow.ai/api-reference/telephony-configs/phone-numbers/set-default-caller.md): Designate a phone number as the configuration's default outbound caller id - [Overview](https://docs.bananaflow.ai/api-reference/overview.md): Interact with Bananaflow programmatically via the REST API - [Authentication](https://docs.bananaflow.ai/api-reference/authentication.md): How to authenticate requests to the Bananaflow API - [Errors](https://docs.bananaflow.ai/api-reference/errors.md): HTTP status codes and error formats returned by the Bananaflow API ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.