{
  "service": "retell_ai",
  "displayName": "Retell AI",
  "categories": [
    "AI",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "RETELL_API_KEY",
      "description": "Retell AI API key sent in the Authorization Bearer header. Create and manage API keys in the Retell dashboard Settings > API Keys.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.retellai.com/",
  "actions": [
    {
      "id": "retell_ai.get_call",
      "service": "retell_ai",
      "name": "get_call",
      "description": "Retrieve details for a specific Retell AI call.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "callId": {
            "type": "string",
            "minLength": 1,
            "description": "The call id to retrieve call history for."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Retell AI call."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "call": {
            "type": "object",
            "properties": {
              "callId": {
                "type": "string",
                "description": "Unique id of the call."
              },
              "callType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Call type, such as web_call or phone_call, when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "agentId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Agent id associated with the call when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "agentName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Agent name associated with the call when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "callStatus": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Current call status when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "direction": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Call direction for phone calls when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fromNumber": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Caller number for phone calls when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "toNumber": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Callee number for phone calls when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "startTimestamp": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Call start timestamp in milliseconds when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "endTimestamp": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Call end timestamp in milliseconds when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "durationMs": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Call duration in milliseconds when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Retell AI."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Retell AI call."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Retell AI call."
      }
    },
    {
      "id": "retell_ai.get_phone_number",
      "service": "retell_ai",
      "name": "get_phone_number",
      "description": "Retrieve details for a specific Retell AI phone number.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "minLength": 1,
            "description": "E.164 phone number to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Retell AI phone number."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "object",
            "properties": {
              "phoneNumber": {
                "type": "string",
                "description": "E.164 phone number used as the unique identifier."
              },
              "phoneNumberType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Type of the phone number when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "phoneNumberPretty": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Pretty printed phone number when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nickname": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Phone number nickname when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "inboundWebhookUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Inbound webhook URL when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastModificationTimestamp": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Last modification timestamp in milliseconds since epoch when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Retell AI."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Retell AI phone number."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Retell AI phone number."
      }
    },
    {
      "id": "retell_ai.get_voice",
      "service": "retell_ai",
      "name": "get_voice",
      "description": "Retrieve details for a specific Retell AI voice.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "voiceId": {
            "type": "string",
            "minLength": 1,
            "description": "Unique id for the voice."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Retell AI voice."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "voice": {
            "type": "object",
            "properties": {
              "voiceId": {
                "type": "string",
                "description": "Unique id for the voice."
              },
              "voiceName": {
                "type": "string",
                "description": "Name of the voice."
              },
              "provider": {
                "type": "string",
                "description": "Provider of the voice."
              },
              "gender": {
                "type": "string",
                "description": "Gender of the voice."
              },
              "accent": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Accent annotation of the voice when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "age": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Age annotation of the voice when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previewAudioUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "URL to the preview audio when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Retell AI."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Retell AI voice."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Retell AI voice."
      }
    },
    {
      "id": "retell_ai.get_voice_agent",
      "service": "retell_ai",
      "name": "get_voice_agent",
      "description": "Retrieve details for a specific Retell AI voice agent.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "string",
            "minLength": 1,
            "description": "Unique id of the voice agent to retrieve."
          },
          "version": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "description": "Numeric agent version."
              },
              {
                "type": "string",
                "minLength": 1,
                "description": "String version reference such as latest, latest_published, or a tag."
              }
            ],
            "description": "Agent version reference."
          }
        },
        "additionalProperties": false,
        "required": [
          "agentId"
        ],
        "description": "The input payload for retrieving a Retell AI voice agent."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "agent": {
            "type": "object",
            "properties": {
              "agentId": {
                "type": "string",
                "description": "Unique id of the agent."
              },
              "version": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Version of the agent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "agentName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Name of the agent when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "voiceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Voice id used for the agent when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isPublished": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the agent version is published when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastModificationTimestamp": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Last modification timestamp in milliseconds since epoch when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Retell AI."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Retell AI voice agent."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Retell AI voice agent."
      }
    },
    {
      "id": "retell_ai.list_calls",
      "service": "retell_ai",
      "name": "list_calls",
      "description": "List Retell AI calls with pagination and optional simple filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of calls to return."
          },
          "paginationKey": {
            "type": "string",
            "minLength": 1,
            "description": "Opaque pagination cursor from a previous response."
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip for pagination."
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ascending",
              "descending"
            ],
            "description": "Sort calls by start timestamp in ascending or descending order."
          },
          "includeTotal": {
            "type": "boolean",
            "description": "Whether Retell AI should include the matching total count."
          },
          "agentIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Retell AI agent id."
            },
            "description": "Agent ids to filter calls by.",
            "minItems": 1
          },
          "callIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Retell AI call id."
            },
            "description": "Call ids to filter calls by.",
            "minItems": 1
          },
          "callStatuses": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "not_connected",
                "ongoing",
                "ended",
                "error"
              ],
              "description": "One Retell AI call status."
            },
            "description": "Call statuses to filter calls by.",
            "minItems": 1
          },
          "callTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "web_call",
                "phone_call"
              ],
              "description": "One Retell AI call type."
            },
            "description": "Call types to filter calls by.",
            "minItems": 1
          },
          "directions": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "inbound",
                "outbound"
              ],
              "description": "One Retell AI call direction."
            },
            "description": "Call directions to filter phone calls by.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Retell AI calls."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "paginationKey": {
            "anyOf": [
              {
                "type": "string",
                "description": "Pagination cursor for the next page when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether more results are available."
          },
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total number of matching calls when includeTotal was requested and provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "callId": {
                  "type": "string",
                  "description": "Unique id of the call."
                },
                "callType": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Call type, such as web_call or phone_call, when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "agentId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Agent id associated with the call when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "agentName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Agent name associated with the call when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "callStatus": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Current call status when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "direction": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Call direction for phone calls when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fromNumber": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Caller number for phone calls when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "toNumber": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Callee number for phone calls when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "startTimestamp": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Call start timestamp in milliseconds when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "endTimestamp": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Call end timestamp in milliseconds when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "durationMs": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Call duration in milliseconds when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Retell AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Retell AI call."
            },
            "description": "Calls returned by Retell AI."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Retell AI."
          }
        },
        "additionalProperties": false,
        "description": "A Retell AI paginated call response."
      }
    },
    {
      "id": "retell_ai.list_phone_numbers",
      "service": "retell_ai",
      "name": "list_phone_numbers",
      "description": "List Retell AI phone numbers with cursor pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of items to return."
          },
          "paginationKey": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a previous response."
          },
          "sortOrder": {
            "type": "string",
            "enum": [
              "ascending",
              "descending"
            ],
            "description": "Sort order for phone number results."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Retell AI phone numbers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "paginationKey": {
            "anyOf": [
              {
                "type": "string",
                "description": "Pagination cursor for the next page when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether more results are available."
          },
          "phoneNumbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phoneNumber": {
                  "type": "string",
                  "description": "E.164 phone number used as the unique identifier."
                },
                "phoneNumberType": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Type of the phone number when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "phoneNumberPretty": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Pretty printed phone number when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "nickname": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Phone number nickname when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "inboundWebhookUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Inbound webhook URL when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastModificationTimestamp": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Last modification timestamp in milliseconds since epoch when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Retell AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Retell AI phone number."
            },
            "description": "Phone numbers returned by Retell AI."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Retell AI."
          }
        },
        "additionalProperties": false,
        "description": "A Retell AI paginated phone number response."
      }
    },
    {
      "id": "retell_ai.list_voice_agents",
      "service": "retell_ai",
      "name": "list_voice_agents",
      "description": "List Retell AI voice agents with optional pagination filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of items to return."
          },
          "paginationKey": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a previous response."
          },
          "paginationKeyVersion": {
            "type": "integer",
            "minimum": 0,
            "description": "Version of the agent associated with paginationKey for consistent pagination."
          },
          "isLatest": {
            "type": "boolean",
            "description": "Whether to return only the latest version of each agent."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Retell AI voice agents."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "agents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "agentId": {
                  "type": "string",
                  "description": "Unique id of the agent."
                },
                "version": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Version of the agent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "agentName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Name of the agent when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "voiceId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Voice id used for the agent when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isPublished": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the agent version is published when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastModificationTimestamp": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Last modification timestamp in milliseconds since epoch when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Retell AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Retell AI voice agent."
            },
            "description": "Voice agents returned by Retell AI."
          },
          "raw": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Retell AI."
            },
            "description": "The raw voice agent list returned by Retell AI."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Retell AI voice agents."
      }
    },
    {
      "id": "retell_ai.list_voices",
      "service": "retell_ai",
      "name": "list_voices",
      "description": "List all Retell AI voices available to the authenticated workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Retell AI voices."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "voices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "voiceId": {
                  "type": "string",
                  "description": "Unique id for the voice."
                },
                "voiceName": {
                  "type": "string",
                  "description": "Name of the voice."
                },
                "provider": {
                  "type": "string",
                  "description": "Provider of the voice."
                },
                "gender": {
                  "type": "string",
                  "description": "Gender of the voice."
                },
                "accent": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Accent annotation of the voice when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "age": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Age annotation of the voice when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "previewAudioUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "URL to the preview audio when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Retell AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Retell AI voice."
            },
            "description": "Voices returned by Retell AI."
          },
          "raw": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by Retell AI."
            },
            "description": "The raw voice list returned by Retell AI."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Retell AI voices."
      }
    }
  ]
}
