Loading...
Loading...
Import Vapi voice assistants into Telnyx with all configurations — instructions, greeting, voice settings, tools, and call analysis. Supports selective import by assistant ID and covers all SDK languages.
npx skill4agent add team-telnyx/skills telnyx-import-vapi| Component | Imported? | Notes |
|---|---|---|
| Instructions | Yes | Imported as-is |
| Greeting / first message | Yes | Maps to assistant |
| Voice configuration | Yes | Voice provider and voice ID preserved |
| Dynamic variables | Yes | Default values carried over |
| Tools (hangup, transfer, webhook) | Yes | Tool definitions and configurations |
| MCP Server integrations | Yes | Server URLs and tool mappings |
| Call analysis / insights | Yes | Mapped to |
| Data retention preferences | Yes | Mapped to |
| Knowledge base | No | Must be manually added post-import |
| Secrets (API keys in tools) | Partial | Placeholder secrets created — you must re-enter values in the Telnyx portal |
vapi_api_keycurl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "vapi",
"api_key_ref": "vapi_api_key"
}' \
"https://api.telnyx.com/v2/ai/assistants/import"import os
from telnyx import Telnyx
client = Telnyx(api_key=os.environ.get("TELNYX_API_KEY"))
assistants = client.ai.assistants.imports(
provider="vapi",
api_key_ref="vapi_api_key",
)
for assistant in assistants.data:
print(f"Imported: {assistant.name} (ID: {assistant.id})")import Telnyx from 'telnyx';
const client = new Telnyx();
const assistants = await client.ai.assistants.imports({
provider: 'vapi',
api_key_ref: 'vapi_api_key',
});
for (const assistant of assistants.data) {
console.log(`Imported: ${assistant.name} (ID: ${assistant.id})`);
}assistants, err := client.AI.Assistants.Imports(context.TODO(), telnyx.AIAssistantImportsParams{
Provider: telnyx.AIAssistantImportsParamsProviderVapi,
APIKeyRef: "vapi_api_key",
})
if err != nil {
panic(err.Error())
}
for _, a := range assistants.Data {
fmt.Printf("Imported: %s (ID: %s)\n", a.Name, a.ID)
}import com.telnyx.sdk.models.ai.assistants.AssistantImportsParams;
import com.telnyx.sdk.models.ai.assistants.AssistantsList;
AssistantImportsParams params = AssistantImportsParams.builder()
.provider(AssistantImportsParams.Provider.VAPI)
.apiKeyRef("vapi_api_key")
.build();
AssistantsList assistants = client.ai().assistants().imports(params);
assistants.getData().forEach(a ->
System.out.printf("Imported: %s (ID: %s)%n", a.getName(), a.getId()));assistants = client.ai.assistants.imports(
provider: :vapi,
api_key_ref: "vapi_api_key"
)
assistants.data.each do |a|
puts "Imported: #{a.name} (ID: #{a.id})"
endimport_idscurl \
-X POST \
-H "Authorization: Bearer $TELNYX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "vapi",
"api_key_ref": "vapi_api_key",
"import_ids": ["vapi-assistant-id-1", "vapi-assistant-id-2"]
}' \
"https://api.telnyx.com/v2/ai/assistants/import"assistants = client.ai.assistants.imports(
provider="vapi",
api_key_ref="vapi_api_key",
import_ids=["vapi-assistant-id-1", "vapi-assistant-id-2"],
)const assistants = await client.ai.assistants.imports({
provider: 'vapi',
api_key_ref: 'vapi_api_key',
import_ids: ['vapi-assistant-id-1', 'vapi-assistant-id-2'],
});curl -H "Authorization: Bearer $TELNYX_API_KEY" \
"https://api.telnyx.com/v2/ai/assistants"assistants = client.ai.assistants.list()
for a in assistants.data:
print(f"{a.name} — {a.id} — imported: {a.import_metadata}")const assistants = await client.ai.assistants.list();
for (const a of assistants.data) {
console.log(`${a.name} — ${a.id} — imported:`, a.import_metadata);
}| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Must be |
| string | Yes | Name of the Telnyx integration secret containing your Vapi API key |
| array[string] | No | Specific Vapi assistant IDs to import. Omit to import all. |
POST https://api.telnyx.com/v2/ai/assistants/import