Reply

Learn how to use Reply with Composio

Overview

SLUG: REPLY

Description

Reply.io is a sales engagement platform that automates multichannel outreach, enabling users to create and manage email campaigns, track replies, and monitor performance directly within their platform.

Authentication Details

generic_api_key
stringRequired

Connecting to Reply

Create an auth config

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

1

Select App

Navigate to Reply.

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 Reply 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
4reply_auth_config_id = "ac_YOUR_REPLY_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 Reply 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, reply_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 Reply toolkit’s playground

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=["REPLY"])
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 Personal List

Description

Tool to add a new personal list on the people page. use when you need to organize contacts into a custom list.

Action Parameters

name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete List By ID

Description

Tool to delete a list by its id. use when you need to remove a personal list you own.

Action Parameters

listId
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get All Lists

Description

Tool to retrieve all available people lists. use when you need to list all lists in your reply account.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get full blacklist of domains and emails

Description

Tool to retrieve the full list of blacklisted domains and emails. use after confirming updates to the blacklist when you need a complete view.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Campaigns For Contact

Description

Tool to retrieve campaigns a contact belongs to by contact id. use when you need to list all sequences (campaigns) associated with a specific contact.

Action Parameters

contactId
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get all campaign schedules

Description

Tool to list all campaign schedules (default and user-created). use when you need to fetch scheduling details after personalization.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Contacts in List by ID

Description

Tool to retrieve contacts in a specific personal list. use after obtaining the list id when you need a paginated set of contacts for that list.

Action Parameters

limit
integerDefaults to 20
list_id
stringRequired
page
integerDefaults to 1

Action Response

data
arrayRequired
error
string
pagination
objectRequired
successful
booleanRequired

Tool Name: Get Email Accounts

Description

Tool to retrieve list of all email accounts in your reply.io account. use when you need to inspect or manage email configurations.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get List by ID

Description

Tool to return a specific people list by its id. use after you know the list id and need its details.

Action Parameters

list_id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get templates list

Description

Tool to retrieve a list of user, team, and community templates. use when you need to display all available templates.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Mark Contact As Finished

Description

Tool to mark a specific contact by email or all contacts under a domain as finished in all campaigns.

Action Parameters

domain
string
email

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Mark Contact as Replied

Description

Tool to mark a contact as replied in all campaigns by email or domain. use after confirming the contact has responded.

Action Parameters

domain
string
email
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Move Contacts to Lists

Description

Tool to move one or more contacts to specified lists. use when reorganizing contacts across lists after verifying contact and list ids.

Action Parameters

ContactIds
arrayRequired
ListIds
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Remove Domain from Blacklist

Description

Tool to remove the specified domain from the blacklist. use when you need to allow sending to that domain again.

Action Parameters

domain
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Remove Email from Blacklist

Description

Tool to remove the specified email from the blacklist. use when you need to allow sending to that address again.

Action Parameters

email
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired