---
canonical_url: "https://docs.composio.dev/toolkits/contactout"
markdown_url: "https://docs.composio.dev/toolkits/contactout.md"
product: "platform"
version: null
last_updated: null
---

# ContactOut

ContactOut provides professional profile enrichment, contact discovery, people and company search, email verification, usage reporting, and campaign management APIs.

- **Category:** people & contact data
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 25
- **Triggers:** 0
- **Slug:** `CONTACTOUT`
- **Version:** 20261014_02
- **Instant:** Supported on the latest version. Support varies by tool.

## Tools

### Add Campaign Recipients

**Slug:** `CONTACTOUT_ADD_CAMPAIGN_RECIPIENTS`

Add 1-100 recipients to an existing campaign. This consequential write immediately changes the campaign's recipient set and may lead to outreach when the campaign is active. A successful request can still contain failed recipients, so inspect every result and both counts. Production Campaigns entitlement and mutation behavior are not live-verified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recipients` | array | Yes | One to 100 recipients to add. Every item requires a valid email or phone number. |
| `campaign_id` | string | Yes | Existing campaign to modify. Adding recipients changes campaign state and may cause outreach if the campaign is active; never use a sample ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check LinkedIn Contact Availability

**Slug:** `CONTACTOUT_CHECK_LINKEDIN_CONTACT_AVAILABILITY`

Check whether a LinkedIn profile has a personal email, work email, or phone without revealing it or consuming credits. Requires a paid ContactOut production entitlement.

**Instant:** Supported on the latest version.

**Instant pricing:** $0 per request

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | LinkedIn profile URL to check without revealing contact data. |
| `contact_type` | string ("personal_email" | "work_email" | "phone") | Yes | Contact-data type whose availability to check. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Count People

**Slug:** `CONTACTOUT_COUNT_PEOPLE`

Estimate matching people and available personal emails, work emails, and phones from substantive People Search filters without consuming credits. This endpoint requires a paid ContactOut production entitlement; sandbox sample access does not confirm production access.

**Instant:** Supported on the latest version.

**Instant pricing:** $0 per request

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Person name to match. |
| `domain` | array | No | Employer domains to include. |
| `skills` | array | No | Skill expressions to match. Boolean operators AND, OR, and NOT must be uppercase. |
| `company` | array | No | Company names to include. |
| `keyword` | string | No | General profile keyword expression. Boolean operators AND, OR, and NOT must be uppercase. |
| `industry` | array | No | Industries to include; prefix a value with NOT to exclude it. AND and OR are not supported. |
| `location` | array | No | Person locations to include. |
| `education` | array | No | Education expressions to match. Boolean operators AND, OR, and NOT must be uppercase. |
| `job_title` | array | No | Current job-title expressions to match. Boolean operators AND, OR, and NOT must be uppercase. |
| `languages` | array | No | Languages and optional proficiency levels to match. |
| `seniority` | array | No | Seniority levels to include, such as Manager or Vice President. |
| `educations` | array | No | Structured education filters; each entry must set a school name, field of study, or location. |
| `company_size` | array | No | Company-size bands to include. |
| `job_function` | array | No | Job functions to include, such as Engineering, Marketing, or Sales. |
| `past_company` | array | No | Past company names to include. Cannot be combined with company_filter set to past, past_only, or both. |
| `company_filter` | string ("current" | "past" | "past_only" | "both") | No | Employment periods where company filters apply; omit for the provider default. Cannot be combined with match_experience. |
| `past_job_title` | array | No | Past job-title expressions to match. Boolean operators must be uppercase; incompatible with current_titles_only=false. |
| `location_radius` | integer | No | Radius in miles around a city or area supplied in location. |
| `match_experience` | string ("current" | "past" | "both") | No | Require job_title and company to match current, past, or either experience entry. |
| `exclude_companies` | array | No | Company names to exclude. |
| `exclude_job_titles` | array | No | Job titles to exclude. |
| `past_work_location` | array | No | Past work locations to include. |
| `current_titles_only` | boolean | No | Restrict job-title matching to current roles. Do not set false with past_job_title. |
| `years_of_experience` | array | No | Total-experience ranges to include. |
| `current_company_only` | boolean | No | Restrict company matching to current employers. |
| `is_currently_working` | boolean | No | Filter for people with an active current role (true) or without one (false); omit to include both. |
| `current_work_location` | array | No | Current work locations to include. |
| `recently_changed_jobs` | boolean | No | Restrict results to people whose current job began within the last three calendar months; cannot be combined with years_in_current_role. |
| `years_in_current_role` | array | No | Current-role tenure ranges to include; cannot be combined with recently_changed_jobs=true. |
| `exclude_companies_filter` | string ("current" | "past" | "both") | No | Employment periods where excluded companies apply; independent of company_filter. |
| `include_related_job_titles` | boolean | No | Include semantically related job titles. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Bulk Email Verification Job

**Slug:** `CONTACTOUT_CREATE_BULK_EMAIL_VERIFICATION_JOB`

Queue asynchronous deliverability verification for 1-100 email addresses, optionally delivering results to an HTTP or HTTPS callback URL; may consume verifier credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | Yes | Email addresses to verify asynchronously (1-100 addresses). |
| `callback_url` | string | No | HTTP or HTTPS endpoint that ContactOut should POST completed results to; omit it when results will be polled instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create LinkedIn Contact Info Batch Job

**Slug:** `CONTACTOUT_CREATE_LINKEDIN_CONTACT_INFO_BATCH_JOB`

Queue asynchronous contact discovery for 1-1000 LinkedIn profiles, optionally delivering results to a callback URL; may consume credits per profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profiles` | array | Yes | LinkedIn profile URLs to process asynchronously (1-1000 URLs). |
| `email_type` | string ("personal" | "work" | "personal,work" | "none") | No | Email types to discover; omit to use the provider default. |
| `callback_url` | string | No | HTTP or HTTPS endpoint that ContactOut should POST completed results to. |
| `include_phone` | boolean | No | Also discover phone numbers when available. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich Companies by Domain

**Slug:** `CONTACTOUT_ENRICH_COMPANIES_BY_DOMAIN`

Return company profiles for 1-30 domains; each found company consumes a search credit.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.02 per returned or enriched record; requests may return multiple billable records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domains` | array | Yes | Company domains to enrich (1-30). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich LinkedIn Profile

**Slug:** `CONTACTOUT_ENRICH_LINKEDIN_PROFILE`

Return a professional profile for a regular LinkedIn profile URL, optionally including contact data; may consume search, email, and phone credits.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.02 per returned or enriched record; requests may return multiple billable records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | Regular LinkedIn /in/ or /pub/ profile URL. Sales Navigator and Recruiter URLs are not accepted. |
| `profile_only` | boolean | No | Return profile details without revealing contact information. Composio-managed calls always use true and reject false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich Person

**Slug:** `CONTACTOUT_ENRICH_PERSON`

Find and enrich one person using a LinkedIn URL, email, or phone; alternatively, provide a name plus employer, education, location, or job-title evidence. May consume search credits, plus contact-data credits for include on your own ContactOut connection only.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.02 per returned or enriched record; requests may return multiple billable records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address identifying the person. Provide this, linkedin_url, or phone; otherwise provide a name plus secondary evidence. |
| `phone` | string | No | Phone number identifying the person. Provide this, linkedin_url, or email; otherwise provide a name plus secondary evidence. |
| `company` | array | No | Employer names used as secondary evidence with a name; they cannot identify a person alone. |
| `include` | array | No | Contact-data types to reveal in addition to profile data. Composio-managed calls reject this; omit it to get profile data only. |
| `location` | string | No | Location used as secondary evidence with a name; it cannot identify a person alone. |
| `education` | array | No | Schools or education terms used as secondary evidence with a name; they cannot identify a person alone. |
| `full_name` | string | No | Person's full name. Without linkedin_url, email, or phone, a name requires company, company_domain, education, location, or job_title evidence. |
| `job_title` | string | No | Job title used as secondary evidence with a name; it cannot identify a person alone. |
| `last_name` | string | No | Last name; provide together with first_name and, without a direct identifier, at least one secondary evidence field. |
| `first_name` | string | No | First name; provide together with last_name and, without a direct identifier, at least one secondary evidence field. |
| `linkedin_url` | string | No | LinkedIn profile URL identifying the person. Provide this, email, or phone; otherwise provide a name plus secondary evidence. |
| `company_domain` | array | No | Employer domains used as secondary evidence with a name; they cannot identify a person alone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich Person by Email

**Slug:** `CONTACTOUT_ENRICH_PERSON_BY_EMAIL`

Return a professional profile matched from an email address, optionally requesting real-time work-email verification. A successful match may consume email and phone credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address used to identify the person. |
| `include` | string | No | Set to work_email to request real-time work-email verification, which may increase latency. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find LinkedIn Profile by Email

**Slug:** `CONTACTOUT_FIND_LINKEDIN_PROFILE_BY_EMAIL`

Resolve an email address to its matching LinkedIn profile URL. A successful match consumes one email credit.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.06 per found LinkedIn match.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to resolve to a matching LinkedIn profile URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Usage Stats

**Slug:** `CONTACTOUT_GET_API_USAGE_STATS`

Return ContactOut API credit usage and quotas for a billing month. Remaining and over-quota fields are available for postpaid accounts, while prepaid accounts report remaining balances in quota fields. ContactOut sandbox responses contain fixed illustrative samples; never present those values as the connected account's real balances.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string | No | Billing month in YYYY-MM or YYYY-MM-DD format. Date inputs are normalized to their month; omit for the current month. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bulk Email Verification Job

**Slug:** `CONTACTOUT_GET_BULK_EMAIL_VERIFICATION_JOB`

Get the status and available per-email results of an asynchronous bulk email-verification job.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Job ID returned by Create Bulk Email Verification Job. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Campaign

**Slug:** `CONTACTOUT_GET_CAMPAIGN`

Return one campaign's sequence steps and optionally its performance statistics. Production Campaigns entitlement depends on the connected ContactOut account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_id` | string | Yes | Campaign ID returned by List Campaigns. |
| `include_stats` | boolean | No | Include sends, opens, replies, bounces, and performance rates when available. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Hashed Email Identifiers

**Slug:** `CONTACTOUT_GET_HASHED_EMAIL_IDENTIFIERS`

Return unordered SHA-256 hashes of normalized personal emails found for 5-100 distinct LinkedIn profiles. Hashes are not mapped back to profiles and may consume email credits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profiles` | array | Yes | Five to 100 distinct LinkedIn profile URLs whose personal email identifiers should be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get LinkedIn Contact Info

**Slug:** `CONTACTOUT_GET_LINKEDIN_CONTACT_INFO`

Reveal email and optionally phone contact information for one regular LinkedIn profile URL; consumes credits when data is found.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.15 per profile yielding a work email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profile` | string | Yes | Regular LinkedIn /in/ or /pub/ profile URL. |
| `email_type` | string ("personal" | "work" | "personal,work" | "none") | No | Email types to reveal. Omit for personal and work emails; use work for real-time work-email verification. Composio-managed calls always use work and reject other values. |
| `include_phone` | boolean | No | Also reveal a phone number when available, consuming a phone credit. Composio-managed calls reject true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get LinkedIn Contact Info Batch

**Slug:** `CONTACTOUT_GET_LINKEDIN_CONTACT_INFO_BATCH`

Synchronously reveal contact information for 1-100 LinkedIn profiles; may consume email and phone credits per profile.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.15 per profile yielding a work email; batch requests are metered per qualifying profile.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `profiles` | array | Yes | LinkedIn profile URLs to process synchronously (1-100 URLs). Composio-managed calls accept at most 10. |
| `email_type` | string ("personal" | "work" | "personal,work") | No | Email types to reveal; omit to use the provider default. Composio-managed calls always use work and reject other values. |
| `include_phone` | boolean | No | Also reveal phone numbers when available. Composio-managed calls reject true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get LinkedIn Contact Info Batch Job

**Slug:** `CONTACTOUT_GET_LINKEDIN_CONTACT_INFO_BATCH_JOB`

Get the status and available results of an asynchronous LinkedIn contact-info batch job.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Job ID returned by Create LinkedIn Contact Info Batch Job. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Campaigns

**Slug:** `CONTACTOUT_LIST_CAMPAIGNS`

Return one page of email campaigns and their lifecycle statuses. Production Campaigns entitlement is unverified; the connected API token may require additional ContactOut plan access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum campaigns to return on this page (1-50). |
| `next_cursor` | string | No | Continuation token returned by a previous call. Omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Decision Makers

**Slug:** `CONTACTOUT_LIST_DECISION_MAKERS`

Return one page of key decision makers for the best-matching company. For the first page, provide a company LinkedIn URL, domain, or name. Returned profiles consume search credits; reveal_info may also consume email and phone credits on your own ContactOut connection only.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.02 per returned or enriched record; requests may return multiple billable records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Company name to match. For the first page, provide this, linkedin_url, or domain. |
| `domain` | string | No | Company domain to match. For the first page, provide this, linkedin_url, or name. |
| `next_cursor` | string | No | Opaque continuation token from the previous response. It retains the company selectors and reveal_info value. |
| `reveal_info` | boolean | No | Reveal available contact data, consuming email or phone credits. Composio-managed calls reject true; leave false to get profiles without contact data. |
| `linkedin_url` | string | No | Company LinkedIn URL, vanity name, or numeric identifier. For the first page, provide this, domain, or name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Campaign Recipients

**Slug:** `CONTACTOUT_REMOVE_CAMPAIGN_RECIPIENTS`

Destructively remove 1-100 recipients from an existing campaign by email. The request can partially succeed, so inspect every result and both counts. Production Campaigns entitlement and this mutation remain unverified without an isolated campaign fixture.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recipients` | array | Yes | Recipients to remove by email (1-100 recipients). |
| `campaign_id` | string | Yes | Target campaign ID. This operation removes recipients from that campaign; never use a sandbox sample campaign ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Companies

**Slug:** `CONTACTOUT_SEARCH_COMPANIES`

Return one page of companies matching identity, size, location, industry, technology, revenue, or founding-year filters. Each returned company consumes a search credit.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.02 per returned or enriched record; requests may return multiple billable records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | array | No | Company names to match. |
| `size` | array | No | Company-size ranges to include, such as 1_10 or 11_50. |
| `domain` | array | No | Company domains to match. |
| `hq_only` | boolean | No | Restrict location matching to company headquarters. |
| `industry` | array | No | Industries to include. |
| `location` | array | No | Company locations to include. |
| `max_revenue` | integer ("1000000" | "5000000" | "10000000" | "50000000" | "100000000" | "250000000" | "500000000" | "1000000000") | No | Maximum company revenue. |
| `min_revenue` | integer ("1000000" | "5000000" | "10000000" | "50000000" | "100000000" | "250000000" | "500000000" | "1000000000") | No | Minimum company revenue. |
| `next_cursor` | string | No | Opaque continuation token returned by the previous page. The token retains the original filters. |
| `linkedin_url` | array | No | Company LinkedIn URLs or identifiers. Cannot be combined with any other filter. |
| `technologies` | array | No | Technology expressions to match. Uppercase AND, OR, and NOT operators are supported. |
| `year_founded_to` | integer | No | Latest founding year, no later than the current year. Requires year_founded_from. |
| `year_founded_from` | integer | No | Earliest founding year, from 1985 through the current year. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search People

**Slug:** `CONTACTOUT_SEARCH_PEOPLE`

Return one page of professional profiles matching person, role, employer, education, location, and contact-availability filters. Returned profiles consume search credits; reveal_info may also consume email and phone credits on your own ContactOut connection only.

**Instant:** Supported on the latest version.

**Instant pricing:** Estimated $0.02 per returned or enriched record; requests may return multiple billable records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Person name to match. |
| `domain` | array | No | Employer domains to include. |
| `skills` | array | No | Skill expressions. Uppercase AND, OR, and NOT operators are supported. |
| `company` | array | No | Company names to include. |
| `keyword` | string | No | General profile keyword expression. Uppercase AND, OR, and NOT operators are supported. |
| `industry` | array | No | Industries to include; prefix a value with NOT to exclude it. AND and OR are not supported here. |
| `location` | array | No | Person locations to include. |
| `education` | array | No | Education expressions. Uppercase AND, OR, and NOT operators are supported. |
| `job_title` | array | No | Current job-title expressions. Uppercase AND, OR, and NOT operators are supported. |
| `languages` | array | No | Languages and optional proficiency levels to match. |
| `page_size` | integer | No | Maximum profiles to return on this page (1-25). |
| `seniority` | array | No | Seniority levels to include. |
| `data_types` | array | No | Require availability of at least one of these contact-data types. |
| `educations` | array | No | Structured education filters; every entry must set at least one field. |
| `next_cursor` | string | No | Opaque continuation token returned by the previous page. The token retains the original filters. |
| `reveal_info` | boolean | No | Reveal available contact data, consuming email or phone credits. Composio-managed calls reject true; leave false to get profiles without contact data. |
| `company_size` | array | No | Company-size ranges, such as 1_10, 11_50, 51_200, or 10001. |
| `job_function` | array | No | Job functions to include. |
| `past_company` | array | No | Past company names to include. |
| `output_fields` | array | No | Profile fields to include in each result. |
| `company_filter` | string ("current" | "past" | "past_only" | "both") | No | Employment periods where company filters apply. ContactOut defaults to current; omit when using match_experience. |
| `past_job_title` | array | No | Past job-title expressions. Uppercase AND, OR, and NOT operators are supported. |
| `location_radius` | integer | No | Radius in miles around a city or area supplied in location. |
| `match_experience` | string ("current" | "past" | "both") | No | Require job-title and company filters to match the same current, past, or either experience. Omit current_titles_only and company_filter when set; ContactOut defaults to current. |
| `exclude_companies` | array | No | Company names to exclude. |
| `detailed_education` | boolean | No | Return structured education entries instead of compact strings. |
| `exclude_job_titles` | array | No | Job titles to exclude. |
| `past_work_location` | array | No | Past work locations to include. |
| `current_titles_only` | boolean | No | Restrict job-title matching to current roles. ContactOut defaults this to true; omit when using match_experience. |
| `detailed_experience` | boolean | No | Return structured experience entries instead of compact strings. |
| `years_of_experience` | array | No | Total-experience ranges, such as 1_2, 3_5, 6_10, or 10. |
| `current_company_only` | boolean | No | Restrict company matching to current employers. |
| `is_currently_working` | boolean | No | Filter by whether the person has an active current role. |
| `current_work_location` | array | No | Current work locations to include. |
| `recently_changed_jobs` | boolean | No | Restrict results to people whose current job began within the last three calendar months. |
| `years_in_current_role` | array | No | Current-role tenure ranges, such as 1_2 or 3_5; cannot be combined with recently_changed_jobs=true. |
| `exclude_companies_filter` | string ("current" | "past" | "both") | No | Employment periods where excluded companies apply. |
| `include_related_job_titles` | boolean | No | Include semantically related job titles. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Start Campaign

**Slug:** `CONTACTOUT_START_CAMPAIGN`

Start a draft ContactOut campaign or resume a stopped campaign. This can immediately begin sending real outreach to the campaign's recipients and is an irreversible external side effect; confirm the campaign ID and intent before calling. Calling it for an already-active campaign is an idempotent success. Production Campaigns entitlement depends on the connected account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_id` | string | Yes | Draft or stopped campaign to start. Starting it can immediately send real outreach to its recipients; never use a sandbox sample campaign ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Stop Campaign

**Slug:** `CONTACTOUT_STOP_CAMPAIGN`

Stop a running ContactOut campaign, interrupting its outreach. This is a consequential lifecycle change; use only with an explicitly selected active campaign. Repeating the request for an already-stopped campaign is treated as an idempotent success when ContactOut returns success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_id` | string | Yes | Active campaign ID to stop. This interrupts outreach from the campaign; never use a sandbox sample ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Email

**Slug:** `CONTACTOUT_VERIFY_EMAIL`

Check one email address for valid, invalid, accept-all, disposable, or unknown deliverability. A valid, invalid, or accept-all result may consume one verifier credit.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address whose deliverability should be verified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
