Emelia

Learn how to use Emelia with Composio

Overview

SLUG: EMELIA

Description

Emelia is an all-in-one B2B prospecting tool offering features like cold-emailing, LinkedIn outreach, email warm-up, email finder, and LinkedIn Sales Navigator scraping.

Authentication Details

generic_api_key
stringRequired

Connecting to Emelia

Create an auth config

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

1

Select App

Navigate to the Emelia toolkit page and click “Setup Integration”.

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 Integration”. 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
4emelia_auth_config_id = "ac_YOUR_EMELIA_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 Emelia 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, emelia_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 Emelia 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=["EMELIA"])
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: Add Contact To Campaign

Description

Tool to add a contact to an email campaign. use when you have collected subscriber details and want to enroll them in a campaign.

Action Parameters

contact
objectRequired
id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Campaign

Description

Tool to create a new email campaign. use after you have finalized the campaign name.

Action Parameters

name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create LinkedIn Campaign

Description

Tool to create a new linkedin campaign. use when you need to launch a linkedin outreach sequence.

Action Parameters

name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Webhook

Description

Tool to create a new webhook for campaign events. use when you need to subscribe to activity updates after determining the campaign id and desired events.

Action Parameters

campaignId
stringRequired
events
arrayRequired
hookUrl
Required
type
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Find Email of Single Contact

Description

Tool to initiate a job to find the email address of a specific contact. use when you have the contact's full name and company details and want to retrieve their email address.

Action Parameters

companyName
stringRequired
companyWebsite
string
country
string
fullname
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Initiate Email Verification Job

Description

Tool to initiate an asynchronous email verification job."

Action Parameters

email
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Initiate Phone Find Job

Description

Tool to initiate a phone-find job for a single contact. use when you want to retrieve a contact's phone number based on their email address.

Action Parameters

linkedinUrl
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Add Contact to Blacklist

Description

Tool to add a contact to the email blacklist. use after confirming that no further emails should be sent to a specific address. example: 'add blocked user@example.com to blacklist.'

Action Parameters

email
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Contact From Campaign

Description

Tool to remove a contact from an email campaign. use when you need to revoke a contact's subscription from a specific campaign. note: this operation is irreversible.

Action Parameters

campaign_id
stringRequired
contact_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Contact From LinkedIn Campaign

Description

Tool to delete a contact from a linkedin campaign. use when you need to remove a contact by campaign id and contact url. call after confirming the contact exists in the campaign.

Action Parameters

id
stringRequired
url
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete a specific webhook. use when you need to remove an existing webhook by url after identifying the campaign.

Action Parameters

campaignId
stringRequired
hookUrl
Required
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Campaign Activities

Description

Tool to retrieve activities for a campaign. use when you need to inspect engagement events for a specific campaign.

Action Parameters

campaign_id
stringRequired
page
integer
per_page
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Find Email Result

Description

Tool to retrieve the result of a previously initiated email find job. use after initiating a find-email job to check its status and outcome.

Action Parameters

jobId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Find Phone Result

Description

Tool to retrieve the outcome of a previously initiated phone-find job. use after starting a job to fetch its status and details by job id.

Action Parameters

job_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Verify Email Result

Description

Tool to get the result of an email verification job. use after initiating an email verification job to check its status and outcome.

Action Parameters

jobId
stringRequired

Action Response

data
objectRequired
error
string
success
booleanRequired
successful
booleanRequired

Tool Name: List Campaigns

Description

Tool to retrieve all email campaigns. use when you need to fetch the list of campaigns, with optional pagination or search filters.

Action Parameters

limit
integer
page
integer
search
string

Action Response

data
arrayRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: List Campaign Contacts

Description

Tool to list contacts in a specific email campaign. use when you need to retrieve campaign subscribers with optional pagination and search filters.

Action Parameters

campaignId
stringRequired
page
integer
perPage
integer
search
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Email Providers

Description

Tool to retrieve all configured email providers. use after setting up your email providers to view them.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List LinkedIn Campaigns

Description

Tool to list all linkedin campaigns. use when you need an overview of your linkedin campaigns and want to paginate results.

Action Parameters

page
integer
per_page
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List webhooks

Description

Tool to retrieve all webhooks. use when you need to fetch every configured webhook in emelia.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Remove Contact from Blacklist

Description

Tool to remove a contact or domain from the email blacklist. use after verifying that the address or domain should no longer be blocked.

Action Parameters

email_or_domain
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired