ThunderPhone 2.0 is live.Self-serve, from 2¢/min.Read the announcement

Facts verified against published sources on .

How to migrate from Bland to ThunderPhone (2026): import agents, tools, and pathways

ThunderPhone can import your Bland agents, tools, and pathway content with an API key or a JSON export. Supported fields become agents, prompts, API connections, built-ins, and knowledge documents for review. Bland-owned numbers do not move, credentials are not copied, and source maximum-duration and webhook settings are reported rather than activated, so the migration still requires manual setup and testing.

Before you start

Inventory web agents, custom tools, inbound numbers, and pathways. For agents, record the prompt, first sentence, language, model, voice, transfer number, maximum duration, and webhook. For tools, keep the name, URL, method, schema, headers, and the location of any credential. For pathways, capture nodes, edges, knowledge-base text, transfer targets, end-call behavior, and webhook actions.

Run the importer as a ThunderPhone admin. Prepare an API key that can retrieve the relevant Bland agent data. ThunderPhone encrypts the key while the import is running and deletes it when the import finishes, fails, or is discarded. The value is never stored with your account. Because the cited Bland Agents API page does not document a read-only key for this process, do not assume the key is read-only; use a temporary key where your account controls permit it.

Separate production agents from experiments. ThunderPhone unticks source names containing test, demo, copy, untitled, sample, or playground by default. Review the selection before import because names are only a heuristic.

Step 1: get your API key

Retrieve a Bland API key that can call the Agents API. Bland's API reference documents the endpoint used to list agents; use that source to confirm the current request and authentication requirements before creating your migration key. Paste the key only into the importer, then revoke a temporary credential after you have completed the migration review. Bland Agents API, accessed 2026-09-10.

If using an API key is not permitted, export the relevant JSON objects and use the no-key process below. Expect more manual work when pathway, tool, or number references are represented only by IDs.

Step 2: run the import

In the ThunderPhone dashboard, choose Agents → Import → Bland, paste the key, and proceed to the review table. Check the selected source records and the proposed one-agent-per-inbound-number handling before choosing Import.

Every proposed agent includes its name, voice match and confidence (exact, by voice type, or default), intelligence tier (Spark, Bolt, or Storm), tools, knowledge bases, and notes. For the prompt, Rewritten applies the ThunderPhone prompting guide while preserving each phone number, URL, tool name, and placeholder. Structured arranges the source under headings. Select one per agent based on how much reorganization you want to review.

The importer report identifies Bland-owned numbers, per-agent webhooks, credentials stored by the vendor, and unsupported tools. Assign an owner and resolution to each report item before setting a cutover date.

What the importer maps

Bland field ThunderPhone
Web agent prompt, first_sentence, language, model, voice Prompt; opening line; language; tier; closest voice
Custom tools (name, url, method, input_schema, headers) API connections
Inbound number prompt or pathway_id One agent per inbound number
Pathway nodes and edges (Default, Knowledge Base, Transfer Call, End Call, Webhook) Ordered call procedure; knowledge-base node text becomes a document; transfers and webhooks become built-ins and API connections
transfer_phone_number Hand-off section
max_duration, webhook Reported, not imported
Bland-owned numbers Reported as not portable

Voice matching uses ThunderPhone's catalog of 123 voices across 47 languages. Check the confidence level and listen to the result; even an exact identifier match does not replace a call-quality review. Test the proposed intelligence tier with calls that cover the pathway's important branches.

The source max_duration setting is reported because ThunderPhone has no per-agent maximum call duration. Configure silence hang-up and explicit prompt instructions for completion, stalled callers, and situations where a human hand-off is unavailable.

What needs a manual step

Bland numbers are Bland-owned and therefore reported as not portable. They are not transferred or attached automatically. Provision or connect a number for the new ThunderPhone agent, publish the replacement where callers can find it, and keep the Bland number active during a controlled transition if your operating plan allows. Test transfers and downstream identification with the actual new route.

Recreate top-level webhook behavior as an organization webhook or suitable API connection. Custom tool definitions may carry over as connection shapes, but any vendor-stored secret must be entered again and verified. Pathway webhook nodes can map into API connections, while transfer and end nodes become built-ins and procedure text; inspect every branch to make sure its conditions remain understandable. Resolve anything listed as unsupported instead of assuming it was folded into the prompt.

Importing without a key

Choose Agents → Import → Bland → JSON and paste exported web-agent, tool, inbound-number, and pathway objects. Include pathway nodes and edges, not just the top-level agent record, and include custom tool definitions where available.

JSON exports often preserve relationships as IDs. If an inbound number points to a pathway_id, or a pathway node points to a tool whose definition is missing, the importer cannot retrieve that object without a key. It will report the unresolved reference rather than invent its contents. Compare those notes with the inventory, add any exportable related objects, and manually rebuild remaining branches, tools, knowledge text, and transfer destinations.

After the import

  • Open every imported agent and review the chosen prompt, first sentence, language, matched voice, tier, and ordered pathway procedure.
  • Read all migration notes, including records left unticked because their names look like tests.
  • Place a test call from the builder and traverse the default, knowledge, transfer, end-call, webhook, and error paths that apply.
  • Attach a new or connected number after the builder test, then verify the live inbound route and hand-off destinations.
  • Supply fresh credentials to each API connection and run its test request, confirming method, URL, headers, inputs, and expected response.
  • Check that knowledge documents have completed indexing, then test both supported questions and out-of-scope questions.
  • Configure an organization webhook and confirm the downstream system receives the required events from a test call.

Do not shut down the source route on the strength of a successful import alone. Cut over only after the number, procedure branches, credentials, knowledge, and event delivery have worked in one production-like call.

Related