Hunter

Learn how to use Hunter with Composio

Overview

SLUG: HUNTER

Description

Hunter is an email marketing company specializing in lead generation and data enrichment.

Authentication Details

generic_api_key
stringRequired
generic_api_key
stringRequired

Connecting to Hunter

Create an auth config

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

1

Select App

Navigate to Hunter.

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 Hunter 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
4hunter_auth_config_id = "ac_YOUR_HUNTER_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 Hunter 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, hunter_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 Hunter 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=["HUNTER"])
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: Account Information

Description

Tool to retrieve information about your hunter account. use when you need to check your plan details and usage limits after confirming credentials.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Company Enrichment

Description

Tool to get enrichment information for a company by its domain. use when you need full company details (industry, description, location, metrics) from hunter.

Action Parameters

clearbit_format
string
domain
stringRequired

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Create custom lead attribute

Description

Tool to create a new custom lead attribute in your account. use after deciding on the attribute label.

Action Parameters

label
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Lead

Description

Tool to create a new lead. use after gathering all prospect details to save them to your hunter account.

Action Parameters

company
string
company_industry
string
company_size
string
confidence_score
integer
country_code
string
custom_attributes
object
email
stringRequired
first_name
string
last_name
string
leads_list_id
integer
leads_list_ids
array
linkedin_url
string
notes
string
phone_number
string
position
string
source
string
twitter
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Leads List

Description

Tool to create a new leads list. use when you need to organize leads into a custom list before adding leads.

Action Parameters

name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Custom Attribute

Description

Tool to delete an existing custom attribute. use after confirming the attribute id to be removed.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Lead

Description

Tool to delete a lead. use after confirming the lead's id to remove it from your hunter.io account.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Leads List

Description

Tool to delete a leads list by its id. use after confirming the leads list id to remove it from your hunter.io account.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Email Finder

Description

Tool to find the most likely email address for a person at a domain or company. use when you have a person's name and a domain or company and need to infer their email.

Action Parameters

company
string
domain
string
first_name
string
full_name
string
last_name
string
max_duration
integerDefaults to 10

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Email Verifier

Description

Tool to verify the deliverability of an email address. use when you need to ensure an address is valid and reachable.

Action Parameters

email
Required

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Get Custom Attribute

Description

Tool to retrieve details of a specific custom attribute. use when you need the label and slug for an attribute id.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Lead

Description

Tool to retrieve details of a specific lead by id. use after confirming the lead's id to fetch its full record.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Leads List

Description

Tool to retrieve details of a specific leads list by id. use when you need to inspect the contents of an existing leads list.

Action Parameters

id
integerRequired
limit
integerDefaults to 20
offset
integer

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: List Custom Attributes

Description

Tool to list all custom lead attributes in your account. use when you need to retrieve your account's custom lead attributes after authenticating.

Action Parameters

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: List Leads

Description

Tool to list all leads saved in your account with optional filters. use when you need to retrieve leads with specific criteria after confirming your api key.

Action Parameters

company
string
country_code
string
created_at
string
custom_attributes
array
email
string
first_name
string
last_activity_at
string
last_contacted_at
string
last_name
string
leads_list_id
integer
limit
integerDefaults to 20
linkedin_url
string
max_confidence_score
integer
min_confidence_score
integer
offset
integer
phone_number
string
position
string
query
string
twitter
string
website
string

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: List Leads Lists

Description

Tool to list all leads lists in your account. use when you need to retrieve and paginate through your leads lists.

Action Parameters

limit
integerDefaults to 20
offset
integer

Action Response

data
objectRequired
error
string
meta
objectRequired
successful
booleanRequired

Tool Name: Update Custom Attribute

Description

Tool to update an existing custom attribute's label. use when renaming a custom attribute after creation.

Action Parameters

id
integerRequired
label
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Lead

Description

Tool to update details of an existing lead by id. use when you need to modify saved lead attributes after creation.

Action Parameters

company
string
company_industry
string
company_size
string
confidence_score
integer
country_code
string
custom_attributes
object
email
string
first_name
string
id
integerRequired
last_name
string
leads_list_id
integer
leads_list_ids
array
linkedin_url
string
notes
string
phone_number
string
position
string
source
string
twitter
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Leads List

Description

Tool to update the name of a specific leads list. use when renaming an existing leads list.

Action Parameters

id
integerRequired
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upsert Lead

Description

Tool to create or update a lead by email in one call. use when you want to ensure a lead exists with the provided information without checking its existence first.

Action Parameters

company
string
company_industry
string
company_size
string
confidence_score
integer
country_code
string
custom_attributes
object
email
stringRequired
first_name
string
last_name
string
leads_list_id
integer
leads_list_ids
array
linkedin_url
string
notes
string
phone_number
string
position
string
source
string
twitter
string
website
string

Action Response

data
objectRequired
error
string
successful
booleanRequired