Contacts
Find decision-makers at a company and store their contact details on your workspace's private saved-contact rows (never the shared graph). Discovery runs through our provider Lemlist.
find_company_contacts
Find decision-makers at a company (C-level → VPs → directors → managers), mirroring the app's Find People flow. Runs a Lemlist search on demand.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
entity_type | string | Yes | "Brand", "RightHolder", "Organization", "Athlete". Common synonyms are auto-mapped (e.g. "Club" / "League" / "Team" / "Federation" → RightHolder, "Company" → Brand). |
entity_name | string | Yes | Company name |
company_linkedin_url | string | No | Anchors the search (otherwise resolved automatically) |
countries | string[] | No | Filter by location — English country names only (e.g. "France", "United States") |
us_state | string | No | US only — narrows results to a state (canonical name, postal code, or French exonym) and gives matching contacts a ranking bonus. Ignored unless the search targets the United States; an unknown state returns an error. |
target_size | number | No | How many contacts to aim for (1–25, default 10) |
include_recent_signals | boolean | No | Also surface people from recent nomination signals (Brand only) |
Returns
{ entity_type, entity_name, linkedin_url, contacts (up to 25), total, truncated, recent_signal_contacts, levels_used }.
Example prompt
"Find marketing decision-makers at Decathlon in France"
set_contact_email / set_contact_phone / set_contact_linkedin
Persist a contact detail onto a person on your workspace's private saved-contact row (never the shared graph — other workspaces cannot see it). If the person isn't saved yet, a private contact row is created. An existing LinkedIn URL is never overwritten.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
person_name | string | Yes | The person |
email / phone / linkedin_url | string | Yes | The value to store |
get_entity_enrichment
Read the cached firmographic enrichment for an entity, if one exists. A free read — always try this before the paid enrich_entity.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
entity_type | string | Yes | Entity type |
entity_name | string | Yes | Entity name |
Returns
The cached enrichment payload, or nothing when the entity has never been enriched.
get_contact_feedback
List this workspace's curation labels for one brand's contacts. Free read.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
brand_name | string | Yes | The brand whose contacts to read |
Returns
{ brand_name, items: [{ person_name, linkedin_url, label, rank, title }], can_curate }
— label ∈ decision_maker | day_to_day | not_relevant.
Example prompt
"Show my contact curation for Decathlon"
set_contact_feedback
Label a contact of a brand to train the decision-maker ranking. Curators only; previews before running.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
brand_name | string | Yes | The brand |
person_name | string | Yes | The contact to label |
label | string | Yes | decision_maker | day_to_day | not_relevant | clear |
rank | number | No | Orders multiple decision-makers (1 = primary) |
title | string | No | Observed job title |
linkedin_url | string | No | The contact's LinkedIn URL |
Example prompt
"Mark Jane Doe as the primary decision-maker at Decathlon"