Synthflow ai

Learn how to use Synthflow ai with Composio

Overview

SLUG: SYNTHFLOW_AI

Description

Synthflow AI provides AI-powered voice agents to automate both inbound and outbound calls, enhancing customer engagement and operational efficiency.

Authentication Details

generic_api_key
stringRequired

Connecting to Synthflow ai

Create an auth config

Use the dashboard to create an auth config for the Synthflow ai toolkit. This allows you to connect multiple Synthflow ai accounts to Composio for agents to use.

1

Select App

Navigate to [Synthflow ai](https://platform.composio.dev/marketplace/Synthflow ai).

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Synthflow ai Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4synthflow_ai_auth_config_id = "ac_YOUR_SYNTHFLOW_AI_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Synthflow ai for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, synthflow_ai_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the [Synthflow ai toolkit’s playground](https://app.composio.dev/app/Synthflow ai)

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["SYNTHFLOW_AI"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Assistant

Description

Tool to create a new assistant. use when you need to initialize a custom voice assistant with specific prompt, llm, language, and voice settings.

Action Parameters

caller_id_number
string
consent_recording
boolean
consent_text
string
external_webhook_url
string
greeting_message
stringRequired
is_recording
boolean
is_transcript_disabled
boolean
language
stringRequired
llm
stringRequired
name
stringRequired
phone_number
string
prompt
stringRequired
type
stringRequired
voice_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete an assistant

Description

Tool to delete an existing ai assistant. use after confirming the assistant id. example: delete assistant with id 'assistant 123'.

Action Parameters

model_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get AI assistant details

Description

Tool to retrieve details of a specific ai assistant. use after confirming the assistant's id to fetch its configuration and metadata.

Action Parameters

model_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get knowledge base

Description

Tool to retrieve details of a specific knowledge base by its id. use after confirming the knowledge base id to fetch its metadata.

Action Parameters

knowledge_base_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get phone numbers

Description

Tool to retrieve a list of phone numbers associated with a workspace. use when you need to fetch numbers assigned to your account for a given workspace.

Action Parameters

limit
integer
offset
integer
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get team details

Description

Tool to retrieve details of a specific team by its id. use after confirming the team exists to inspect its configuration.

Action Parameters

team_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List AI assistants

Description

Tool to list all ai assistants associated with the account. use when you need to retrieve a paginated list of assistants.

Action Parameters

limit
integer
offset
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a new team

Description

Tool to create a new team. use when you need to programmatically set up a synthflow ai assistant group with routing rules.

Action Parameters

external_webhook_url
string
lead_assistant
stringRequired
name
stringRequired
phone_number
string
sub_assistants_attach
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a team

Description

Tool to delete an existing team. use when you need to remove a synthflow ai team after it's no longer needed. confirm the team id before calling.

Action Parameters

team_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an existing team

Description

Tool to update an existing team. use after confirming the team exists and you have new configuration values.

Action Parameters

external_webhook_url
string
name
string
phone_number
string
sub_assistants_attach
array
sub_assistants_detach
array
team_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Assistant

Description

Tool to update an existing assistant’s settings. use after confirming the assistant exists. modify settings like name, phone, recording, webhook, or agent configuration.

Action Parameters

agent
object
assistant_id
stringRequired
caller_id_number
string
consent_recording
boolean
consent_text
string
external_webhook_url
string
is_recording
boolean
is_transcript_disabled
boolean
max_duration
object
name
string
phone_number
string

Action Response

data
objectRequired
error
string
successful
booleanRequired