Icypeas

Learn how to use Icypeas with Composio

Overview

SLUG: ICYPEAS

Description

Icypeas is an email discovery and verification tool that allows users to find and verify professional email addresses using first name, last name, and company domain.

Authentication Details

generic_api_key
stringRequired

Connecting to Icypeas

Create an auth config

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

1

Select App

Navigate to Icypeas.

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 Icypeas 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
4icypeas_auth_config_id = "ac_YOUR_ICYPEAS_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": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Icypeas 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, icypeas_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 Icypeas 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=["ICYPEAS"])
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: Check Search Progress

Description

Tool to check the progress of a search by its ID. Use after initiating a single or bulk search to poll for its processing status.

Action Parameters

id
stringRequired
limit
integer
mode
stringRequired
next
boolean
sorts
array
status
string
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Domain Scan

Description

Tool to scan a domain for role-based email addresses. Use when you need to discover all role-based emails for a specific domain.

Action Parameters

custom
object
domainOrCompany
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Bulk Search Info

Description

Tool to fetch information about bulk search files. Use when you need status and pagination details after initiating bulk search operations.

Action Parameters

file
string
limit
integer
next
boolean
sorts
array
status
string

Action Response

data
arrayRequired
error
string
sorts
arrayRequired
successful
booleanRequired
total
integerRequired

Tool Name: Fetch Subscription Information

Description

Tool to fetch subscription and credit info. Use after obtaining a valid API key.

Action Parameters

email
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Find Companies

Description

Tool to search companies in Icypeas database. Use when you need to find companies matching filters like industry, location, or headcount.

Action Parameters

pagination
object
query
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Find Company URL

Description

Tool to find a single company profile URL using a company name or domain. Use when you need to initiate a profile-URL search for a given company identifier.

Action Parameters

companyOrDomain
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Find People

Description

Tool to search for people in the leads database. Use when you need to filter people by name, title, company, and other attributes.

Action Parameters

pagination
object
query
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Find Profile URL

Description

Tool to find a single profile URL. Use after confirming first name, last name, and either company/domain or job title. Example: "Find the LinkedIn URL for Pierre Landoin at icypeas.com."

Action Parameters

companyOrDomain
string
firstname
stringRequired
jobTitle
string
lastname
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired
url
string

Tool Name: Find Profile URLs Bulk

Description

Tool to perform bulk search for profile URLs. Use when you need to resolve multiple prospects' profile URLs at once.

Action Parameters

data
arrayRequired
type
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Find Single Email

Description

Tool to discover a single email address using a person's first or last name with a company domain or name. Use when needing to retrieve a prospect's specific email before outreach.

Action Parameters

custom
object
domainOrCompany
stringRequired
firstname
string
lastname
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Search Results

Description

Tool to retrieve the results of a search by ID or to paginate through bulk search results. Use after initiating a search to fetch individual or multiple search results.

Action Parameters

file
string
id
string
limit
integerDefaults to 10
mode
stringRequired
next
boolean
sorts
array
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Scrape Company

Description

Tool to scrape company profile information from a LinkedIn company URL. Use when you have a company LinkedIn URL to retrieve detailed company data.

Action Parameters

url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Scrape Profile

Description

Tool to initiate scraping of a LinkedIn profile. Use when you have a public LinkedIn profile URL and need a job ID and status to later fetch full details.

Action Parameters

url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Setup Notifications

Description

Tool to set up push notifications. Use when you need to receive real-time updates about your searches. Note: Icypeas requires webhook configuration via the dashboard UI; no public API endpoint exists for setup.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired