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

# OpenFunnel Agent Primitives

OpenFunnel Agent Primitives provides composable company search, research, lookup, and enrichment APIs for AI sales agents.

- **Category:** ai sales tools
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 10
- **Triggers:** 0
- **Slug:** `OPENFUNNEL_AGENT_PRIMITIVES`
- **Version:** 00000000_00

## Tools

### Cancel Bulk Lookalike Search

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_CANCEL_BULK_LOOKALIKE_SEARCH`

Irreversibly request cancellation of a pending or running bulk lookalike job. The response only acknowledges the asynchronous request; use GET_BULK_LOOKALIKE_RESULTS afterward to observe terminal cancelled status and retrieve partial results. Companies delivered before cancellation remain available and billable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Pending or running bulk lookalike job ID to irreversibly request cancellation for. |

#### 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 Lookalike Results

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_GET_BULK_LOOKALIKE_RESULTS`

Check an asynchronous bulk lookalike job and return one result page. Use status to determine completion: pending, running, and cancelling jobs remain pollable even when next_cursor is null.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | string | Yes | Bulk job ID returned by START_BULK_LOOKALIKE_SEARCH. |
| `next_cursor` | string | No | Continuation cursor returned by the previous result page. Omit it to check job status or fetch the first available 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 |

### Get Credit Balance

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_GET_CREDIT_BALANCE`

Return total, used, and remaining credits for the connected OpenFunnel account before or after paid searches.

#### 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 Country Codes

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_LIST_COUNTRY_CODES`

List all ISO 3166-1 alpha-3 country codes accepted by tech-search country filters, ordered by company volume.

#### 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 Firmographic Options

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_LIST_FIRMOGRAPHIC_OPTIONS`

List the live funding stages, location codes, and employee bounds accepted by lookalike search filters.

#### 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 |

### Lookup Companies

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_LOOKUP_COMPANIES`

Resolve a batch of 1-100 company names, domains, or LinkedIn URLs to ordered candidate records. Exact identifiers can still return multiple matches, so every candidate is preserved.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companies` | array | Yes | One to 100 companies to resolve, in the order results 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 |

### Research Company

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_RESEARCH_COMPANY`

Qualify one known company from recent hiring activity, current team composition, or both, with cited evidence. Each successful call is charged at the workspace-configured per-call credit price; an unresolved-domain 404 is free.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | Primary corporate domain of the known company to research. |
| `timeframe_days` | integer | No | Recent activity window in days (1-365). |
| `activity_question` | string | No | Question answered from recent job-posting activity; provide this, qualifier_question, or both. |
| `max_jobs_to_check` | integer | No | Maximum job postings to inspect for the activity question (1-200); larger values may increase latency. |
| `qualifier_question` | string | No | Question answered from LinkedIn current-employee and team-composition data; provide this, activity_question, or both. |

#### 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 by Tech Stack

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_SEARCH_COMPANIES_BY_TECH_STACK`

Return one fixed page of 50 companies whose recent job postings mention a technology. A live non-enriched full page consumed 25 credits; enrichment or firmographic filters may cost more. Follow next_cursor only when needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tech` | string | No | Technology name or phrase to find in recent job postings. Required when next_cursor is omitted; continuations restore it from the opaque cursor. |
| `enrich` | boolean | No | Whether to add firmographic data. Firmographic filters automatically enable enrichment and may increase the credit cost. |
| `variations` | array | No | Alternative technology phrases OR-matched with tech. Each value is sent as a repeated variations query parameter. |
| `next_cursor` | string | No | Continuation cursor returned by the previous call. Omit for the first fixed 50-company page. |
| `lookback_days` | integer | No | Number of days of job postings to search (1-365). |
| `exclude_vendor` | boolean | No | Whether to exclude job postings from the technology vendor itself. |
| `hq_country_code` | string | No | ISO 3166-1 alpha-3 headquarters country code. Setting this filter automatically enables enrichment. |
| `include_evidence` | boolean | No | Whether to include a matching job-posting example. Set false for a leaner response documented as about six times faster. |
| `max_employee_count` | integer | No | Inclusive maximum employee count. Setting this filter automatically enables enrichment. |
| `min_employee_count` | integer | No | Inclusive minimum employee count. Setting this filter automatically enables enrichment. |
| `exclude_aggregators` | boolean | No | Whether to exclude known job boards, aggregators, and reposters. |
| `exclude_company_slugs` | array | No | OpenFunnel LinkedIn company slugs to omit. Each slug is sent as a repeated exclude_company_slugs query parameter. |

#### 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 Lookalike Companies

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_SEARCH_LOOKALIKE_COMPANIES`

Find up to 100 companies similar to a natural-language trait or seed domains. Each returned company consumes 1 credit, and even an unexpected semantic match is billable, so choose limit deliberately.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum companies to return and bill in this one-shot search (1-100). Each returned company consumes 1 credit, so keep this near the number actually needed. |
| `query` | string | No | Natural-language description of the target companies (1-200 characters). Provide this, seed_domains, or both. Even an unusual semantic query can return billable matches. |
| `locations` | array | No | Location codes to include, using lookalike options or EU. Values are sent as repeated locations query keys. |
| `seed_domains` | array | No | One to ten company domains used as lookalike seeds. Each domain is sent as a repeated seed_domains query key. |
| `max_employees` | integer | No | Inclusive maximum employee count. Use LIST_FIRMOGRAPHIC_OPTIONS for the currently accepted bounds. |
| `min_employees` | integer | No | Inclusive minimum employee count. Use LIST_FIRMOGRAPHIC_OPTIONS for the currently accepted bounds. |
| `funding_stages` | array | No | Funding stages to include. Values are sent as repeated funding_stages query keys; use LIST_FIRMOGRAPHIC_OPTIONS to inspect the live catalog. |

#### 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 Bulk Lookalike Search

**Slug:** `OPENFUNNEL_AGENT_PRIMITIVES_START_BULK_LOOKALIKE_SEARCH`

Start an asynchronous lookalike job for up to 10,000 companies. Delivered results are billed when the job completes, so choose limit deliberately and use GET_BULK_LOOKALIKE_RESULTS to monitor the returned job_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum companies the asynchronous job may deliver and bill (1-10000). Keep this near the number actually needed; delivered results are billed when the job completes. |
| `query` | string | No | Natural-language description of target companies (1-200 characters); provide this, seed_domains, or both. |
| `locations` | array | No | Lookalike location codes to include, using ISO 3166-1 alpha-3 codes or EU. Use LIST_FIRMOGRAPHIC_OPTIONS for current values. |
| `seed_domains` | array | No | One to ten company domains used as lookalike seeds. |
| `max_employees` | integer | No | Inclusive maximum employee count. Use LIST_FIRMOGRAPHIC_OPTIONS for currently accepted bounds. |
| `min_employees` | integer | No | Inclusive minimum employee count. Use LIST_FIRMOGRAPHIC_OPTIONS for currently accepted bounds. |
| `funding_stages` | array | No | Funding stages to include. Use LIST_FIRMOGRAPHIC_OPTIONS to inspect the provider's current accepted values. |

#### 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 |
