Импорт агентов с другой платформы
Перенесите агентов, инструменты и базы знаний из Vapi, Retell, ElevenLabs Agents или Bland с помощью ключа API или экспорта JSON, проверьте сопоставление и выполните импорт.
Если ваши агенты работают на Vapi, Retell, ElevenLabs Agents или Bland, импортёр получает их, сопоставляет каждое поле с ThunderPhone и показывает результат до создания каких-либо объектов.
Запуск импорта
- Откройте Агенты и выберите Импорт (или Импорт из Vapi, Retell, ElevenLabs или Bland на пустой странице агентов).
- Выберите платформу.
- Следуйте пронумерованным шагам в диалоговом окне, чтобы создать ключ на этой платформе (они откроют нужную страницу настроек), вставьте его либо переключитесь на Вставить экспортированный JSON и вставьте один или несколько объектов агентов из панели управления или API этой платформы.
- Выберите Получить моих агентов. Получение и сопоставление обычно занимают меньше минуты; вы можете покинуть страницу и вернуться через панель задач.
Проверка плана
Для каждого агента отображаются имя, подобранный голос (с указанием уверенности сопоставления), уровень интеллекта, подключённые инструменты и базы знаний, а также примечания обо всех изменениях при преобразовании. Разверните строку, чтобы прочитать промпт:
- Переработанный — единый связный промпт в стиле руководства по промптам, в котором сохранены каждый номер телефона, URL, название инструмента и заполнитель из исходного текста.
- Структурированный — исходная конфигурация, размещённая под заголовками в точности так, как была извлечена. Используется автоматически, если переработанный вариант не удаётся проверить.
Снимите флажки с ненужных агентов (тестовые копии по умолчанию не отмечены), измените имена, голоса, уровни или вариант промпта, затем выберите Импорт. Созданные агенты откроются в конструкторе с подключёнными API и базами знаний.
Что импортируется
Получение ключа
- Откройте dashboard.vapi.ai/org/api-keys (Настройки организации → Ключи API).
- Создайте ключ и выберите Приватный — публичные ключи не могут получать список ассистентов.
- Скопируйте его в диалоговое окно. Ключи Vapi не имеют ограничений области действия; удалите ключ в Vapi после импорта, если создали его только для этого.
| Поле Vapi | ThunderPhone |
|---|---|
model.messages[system] | Промпт |
firstMessage, firstMessageMode | Начальная реплика в промпте; кто говорит первым |
voice.provider + voiceId | Ближайший голос из каталога (отображается уверенность совпадения) |
transcriber.language | Основной язык |
model.model | Уровень интеллекта |
model.tools / toolIds (function, apiRequest) | Подключения API |
назначения transferCall | Раздел передачи звонка в промпте (встроенная передача) |
endCall, dtmf | Встроенные функции |
инструменты query (knowledgeBases[].fileIds) и устаревший knowledgeBaseId | База знаний с загруженными файлами в качестве документов |
endCallMessage, endCallPhrases, voicemailMessage, messagePlan.idleMessages | Разделы промпта; настройка сообщения голосовой почты |
silenceTimeoutSeconds | Завершение вызова при тишине |
maxDurationSeconds, server.url, отряды, рабочие процессы, инструменты sms/ghl/make/code/mcp | Отмечается в отчёте, но не импортируется |
Получение ключа
- Откройте dashboard.retellai.com/apiKeys (Системные настройки → Ключи API) и выберите Создать ключ.
- Включите Ограничить разрешения и установите для Агент, База знаний и Телефон значение Чтение. Не выбирайте другие группы; импортёр никогда не записывает данные в Retell.
- Скопируйте ключ в диалоговое окно.
| Поле Retell | ThunderPhone |
|---|---|
Retell LLM general_prompt, begin_message, start_speaker | Промпт; начальная реплика; кто говорит первым |
states + starting_state | Упорядоченная процедура звонка в промпте |
global_prompt + узлы потока разговора | Упорядоченная процедура звонка; узлы передачи также становятся правилами передачи |
пользовательские general_tools | Подключения API |
transfer_call, end_call, press_digit | Передача в промпте + встроенные функции |
voice_id (11labs-, openai-, cartesia-, …) | Ближайший голос из каталога |
language | Основной и дополнительные языки |
model / s2s_model | Уровень интеллекта |
knowledge_base_ids (источники url, document, text) | База знаний с документами |
voicemail_option, end_call_after_silence_ms, boosted_keywords | Настройка голосовой почты; завершение вызова при тишине; термины промпта |
webhook_url, max_call_duration_ms (если меньше значения по умолчанию в 60 минут), пользовательские движки LLM, send_sms, MCP | Отмечается в отчёте, но не импортируется |
Получение ключа
- Откройте elevenlabs.io/app/settings/api-keys и выберите Создать ключ API.
- В разделе разрешений предоставьте ему Платформа агентов: Чтение (и База знаний: Чтение, если отображается); импортёру больше ничего не требуется.
- Скопируйте ключ в диалоговое окно.
| Поле ElevenLabs | ThunderPhone |
|---|---|
conversation_config.agent.prompt.prompt | Промпт |
first_message, language | Начальная реплика; основной язык |
prompt.llm | Уровень интеллекта |
tts.voice_id | Ближайший голос из каталога |
tools / tool_ids типа webhook | Подключения API (схема query или body) |
системные инструменты end_call, transfer_to_number, клавиатура | Встроенные функции + передача в промпте |
записи knowledge_base url/text/file | База знаний: записи URL становятся документами URL; текстовые и файловые записи запрашиваются по идентификатору и импортируются как извлечённый текст |
turn.silence_end_call_timeout | Завершение вызова при тишине |
conversation.max_duration_seconds, клиентские инструменты, MCP | Отмечается в отчёте, но не импортируется |
Получение ключа
- Откройте app.bland.ai/dashboard/settings.
- Скопируйте указанный там ключ API (в Bland один ключ на аккаунт; он не имеет ограничений области действия, поэтому при необходимости замените его после импорта).
- Вставьте его в диалоговое окно.
У веб-агентов в Bland нет имени, поэтому импортёр присваивает им имя из приветствия («Привет, это Nova…») или промпта («Вы Nova…»).
| Поле Bland | ThunderPhone |
|---|---|
Веб-агент prompt, first_sentence, language, model, voice | Промпт; начальная реплика; язык; уровень; ближайший голос |
Пользовательские tools (name, url, method, input_schema, headers) | Подключения API |
Входящий номер prompt или pathway_id | По одному агенту на каждый входящий номер |
| Каждый сценарий, привязанный к номеру или нет | По одному агенту на каждый сценарий |
| Узлы и переходы сценария (Default, Knowledge Base, Transfer Call, End Call, Webhook) | Упорядоченная процедура звонка; текст узла базы знаний становится документом; передачи и вебхуки становятся встроенными функциями и подключениями API |
transfer_phone_number | Раздел передачи |
max_duration, webhook | Отмечается в отчёте, но не импортируется |
| Номера, принадлежащие Bland | Отмечается в отчёте как непереносимые |
Что требует действий в ThunderPhone
В отчёте внизу страницы проверки перечислено всё, что не было перенесено, и причины:
- Номера телефонов. Номера, которыми вы владеете у оператора связи, можно подключить как номера VoIP. Номера, принадлежащие платформе, нельзя перенести; получите новый номер и привяжите его к импортированному агенту.
- Вебхуки для отдельных агентов. ThunderPhone отправляет подписанные вебхуки для каждой организации; настройте его в разделе Вебхуки.
- Учётные данные, сохранённые поставщиком. Видимые заголовки инструментов копируются. Учётные данные, которые старая платформа сохраняла по идентификатору, помечаются; добавьте их в заголовки API-подключения.
- Инструменты без аналога (отправка SMS, автоматизации для конкретной платформы) перечислены, чтобы ничего не было пропущено без уведомления.
- Ограничения длительности вызова. В ThunderPhone нет максимальной длительности вызова для отдельного агента; вместо этого используйте настройку завершения вызова при тишине и правила завершения в вашем промпте.
Импорт без ключа
Выберите Вставить экспортированный JSON и вставьте объект или объекты, экспортированные API или панелью управления вашей платформы, в виде одного объекта или списка JSON:
- Vapi — объект ассистента (
GET /assistant/{id}). Инструменты, подключённые черезtoolIds, и файлы знаний требуют ключа для разрешения. - Retell — объект агента (
GET /get-agent/{id}) вместе с его Retell LLM (GET /get-retell-llm/{id}) или объектом сценария диалога в том же списке; импортёр связывает их по идентификатору. LLM или сценарий, вставленные отдельно, импортируются под сгенерированным именем. - ElevenLabs — объект агента (
GET /v1/convai/agents/{id}); его инструменты вебхуков включены непосредственно в объект, поэтому ничего не остаётся неразрешённым. - Bland — веб-агент, ответ
/v1/agentsили объект маршрута.
Всё, на что есть ссылка только по идентификатору и чего нет во вставленных данных, перечисляется в примечаниях.
После импорта
- Откройте каждого агента и прочитайте его примечания.
- Выполните тестовый вызов из конструктора.
- Привяжите номер телефона.
- Протестируйте каждое API-подключение с помощью тестировщика запросов.
- Убедитесь, что документы базы знаний завершили индексацию.
- Настройте вебхук организации, если старые агенты его использовали.
Импортёр также доступен через REST API.