Benchmark email

Learn how to use Benchmark email with Composio

Overview

SLUG: BENCHMARK_EMAIL

Description

Benchmark Email is a comprehensive email marketing platform offering tools for creating, sending, and analyzing email campaigns.

Authentication Details

generic_api_key
stringRequired

Connecting to Benchmark email

Create an auth config

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

1

Select App

Navigate to [Benchmark email](https://platform.composio.dev/marketplace/Benchmark email).

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 Benchmark email 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
4benchmark_email_auth_config_id = "ac_YOUR_BENCHMARK_EMAIL_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 Benchmark email 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, benchmark_email_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 [Benchmark email toolkit’s playground](https://app.composio.dev/app/Benchmark email)

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=["BENCHMARK_EMAIL"])
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: Delete Contact From List

Description

Tool to delete a contact from a specific list by contactid. use when you have list and contact ids. example: "delete contact 2040826674 from list 15257899"

Action Parameters

contact_id
stringRequired
filter
string
list_id
stringRequired
search
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Contact List

Description

Tool to delete a contact list. use after confirming that the list is no longer in use.

Action Parameters

list_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Email Campaign

Description

Tool to delete an email campaign. use when removing a campaign by its id. use after confirming the campaign id is correct.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete a webhook from a contact list by its id. use when removing obsolete or invalid webhooks after confirming list and webhook details.

Action Parameters

ID
integerRequired
ListID
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get All Confirmed Emails

Description

Tool to retrieve all confirmed email addresses for the client account. use after user completes email confirmation flows to fetch final list.

Action Parameters

Action Response

count
integerRequired
data
arrayRequired
error
string
status
stringRequired
successful
booleanRequired

Tool Name: Get Client Account Settings

Description

Tool to get client account settings such as company, language, timezone, and sender info. use when you need to fetch account configuration before sending campaigns.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get client details

Description

Tool to get client details including profile data, contact count, and plan information. use when verifying account profile and limits.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Client Plan Information

Description

Tool to get client's plan information including addons, email plan, and total contacts. use when you need the current plan details before managing upgrades or billing.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get client profile details

Description

Tool to get client's profile details like business city, country, phone, and company. use after confirming authentication to fetch client profile info.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Filtered Contacts in List

Description

Tool to fetch filtered and paginated contacts from a list by listid. use when narrowing a list via search, filters, and paging.

Action Parameters

Filter
string
ListID
stringRequired
OrderBy
string
PageNumber
integer
PageSize
integer
SearchField
string
SearchFilter
string
SearchType
string
SortOrder
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Contact Lists

Description

Tool to retrieve all contact lists. use when you need to list or select a contact list.

Action Parameters

exclude_email_id
string
filter
string
filter_type
string
order_by
string
page_number
integer
page_size
integer
sort_order
string
status
string

Action Response

count
integerRequired
data
arrayRequired
error
string
status
stringRequired
successful
booleanRequired

Tool Name: Get Contact List Details

Description

Tool to fetch detailed information for a contact list. use after confirming the list id to retrieve all metadata.

Action Parameters

list_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Email Report Forwards

Description

Tool to get forwards report for an email campaign. use after campaign send to export its forwards.

Action Parameters

email_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Unopens Report

Description

Tool to get unopens report for an email campaign by id. use when you need to export or review recipients who did not open a specific email campaign.

Action Parameters

email_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Sub-Accounts

Description

Tool to retrieve all sub-accounts for the client. use when you need to view or manage sub-accounts.

Action Parameters

Action Response

Count
integerRequired
Data
arrayRequired
HasClientAccounts
stringRequired
HasDates
stringRequired
HasInbox
stringRequired
Status
stringRequired
UniqueCount
integerRequired
error
string
successful
booleanRequired

Tool Name: Get Sub-Accounts Plan List

Description

Tool to retrieve available plans for a sub-account. use when you need to determine list and email limits for a specific sub-account client id.

Action Parameters

ID
stringRequired

Action Response

Data
arrayRequired
Status
stringRequired
error
string
successful
booleanRequired

Tool Name: Get sub-account details

Description

Tool to get details for a specific sub-account by id. use when needing profile and plan info of a child account.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Sub-Account History

Description

Tool to get sub-account history. use after listing sub-accounts to retrieve each account's billing history.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Change Password

Description

Tool to change the password for the client account. use when updating account credentials after validating new and confirm passwords match.

Action Parameters

ConfirmPassword
stringRequired
NewPassword
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Save Security PIN

Description

Tool to save a new security pin for the client account. use when you need to update the account pin after confirming both entries match.

Action Parameters

ConfirmNewPIN
stringRequired
NewPIN
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Reset Email

Description

Tool to send a reset email link to change the primary email address. use when initiating an email-based reset of the account’s primary email after user request.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Patch Update Client Settings

Description

Tool to update client account settings. use after fetching current settings. updates company info, timezone, language, sender defaults, and signature details.

Action Parameters

Detail
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Contact List

Description

Tool to update an existing contact list. use after confirming list id and desired modifications to name, description, labels, or custom fields.

Action Parameters

Data
objectRequired
ListID
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update/Edit Profile

Description

Tool to update or edit profile information such as first name, last name, and phone number. use after retrieving profile details to apply changes.

Action Parameters

FirstName
stringRequired
LastName
stringRequired
PhoneNo
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Webhook

Description

Tool to update a webhook for a contact list by webhook id. use after retrieving or creating a webhook to modify its event settings such as cleaned-address, email-change, profile-update, subscribe, and unsubscribe callbacks.

Action Parameters

Data
objectRequired
ID
integerRequired
ListID
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Add Contact to List

Description

Tool to add a new contact to a specific list. use after verifying the list id exists.

Action Parameters

Email
stringRequired
EmailPerm
string
FirstName
string
LastName
string
ListID
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Change Security PIN

Description

Tool to change security pin for the client account. use after confirming your current pin to rotate your pin.

Action Parameters

ResetConfirmPIN
stringRequired
ResetOldPIN
stringRequired
ResetPIN
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Contact List

Description

Tool to create a new contact list. use after planning list name and optional description.

Action Parameters

Description
string
Name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Webhook

Description

Tool to create a new webhook for a contact list. use when you need to get callbacks for list events after list creation.

Action Parameters

CleanedAddress
stringRequired
ClientUrl
stringRequired
ContactMasterID
stringRequired
EmailChanged
stringRequired
ListID
stringRequired
ProfileUpdates
stringRequired
Subscribes
stringRequired
Unsubscribes
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Disable Security PIN

Description

Tool to disable security pin for the client account. use when revoking the current pin to remove pin protection.

Action Parameters

DisableOldPIN
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Save Website Domain

Description

Tool to save a website domain for your benchmark email account. use after account setup to register your domain for link tracking.

Action Parameters

CompanyWebsite
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Confirm Email Verification

Description

Tool to send confirm email verification. use when unverified addresses must receive verification emails after signup.

Action Parameters

EmailIDs
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send PIN via Email

Description

Tool to send pin via email. use when you forgot your security pin and need it emailed to you.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired