Tasks
Create and configure workflow templates
A Task defines the configuration for a research workflow. Tasks specify what type of operation to perform and how to execute it.
What is a Task?
Tasks are reusable workflow templates that:
- Define the type of research operation (search, enrich, monitor)
- Reference an ICP for targeting criteria
- Specify configuration parameters
- Can be executed multiple times to create runs
Task Structure
Flow Names
The flow_name field determines what type of workflow the task executes:
| Flow Name | Purpose | Task Type |
|---|---|---|
search | Discover new entities matching ICP criteria | search |
signal-topic | Monitor topics for business signals | signal-topic |
signal-csv | Generate signals from uploaded CSV data | signal-csv |
signal-sheet | Monitor existing sheet entities for signals | signal-sheet |
ingest | Import and enrich entities from CSV files | ingest |
Deployment Name
The deployment_name must always be set to "main". Do not modify this value.
Task Configurations
Each flow type requires a specific configuration structure. The type field in task_config specifies which configuration schema to use.
Search Task Configuration
For discovering new companies matching your ICP:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type | "search" | Yes | — | Configuration type discriminator |
desired_contact_count | integer | No | 1 | Number of contacts to find per company (minimum: 1) |
user_feedback | string | No | "" | Feedback to refine search results |
webhook_url | string | No | — | HTTPS URL for completion notifications (see Webhooks) |
Search Workflow Prerequisites
Search tasks require an ICP configured with both company and person entity targets. You must also create two sheets linked to the ICP—one for companies and one for persons. The desired_contact_count must be at least 1.
Signal Topic Configuration
For monitoring topics across the web for business signals:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type | "signal-topic" | Yes | — | Configuration type discriminator |
topic_criteria | string | Yes | — | Natural language description of what to monitor |
signal_types | SignalTypeConfig[] | Yes | — | Array of signal type objects with type and criteria fields |
entity_type | string | No | "company" | Entity type to monitor ("company" or "person") |
monitoring_frequency | string | No | "weekly" | How often to check: "daily", "weekly", or "monthly" |
geographic_filters | string[] | No | — | Geographic regions to focus on |
industry_filters | string[] | No | — | Industries to filter by |
company_size_filters | string[] | No | — | Company size criteria |
webhook_url | string | No | — | HTTPS URL for completion notifications (see Webhooks) |
Signal CSV Configuration
For generating signals from uploaded CSV data:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type | "signal-csv" | Yes | — | Configuration type discriminator |
file_id | string | Yes | — | ID of uploaded CSV file (see Files) |
signal_types | SignalTypeConfig[] | Yes | — | Array of signal type objects with type and criteria fields |
entity_type | string | No | "company" | Entity type in the CSV ("company" or "person") |
primary_column | string | No | "name" | CSV column containing entity names |
monitoring_frequency | string | No | "weekly" | How often to check: "daily", "weekly", or "monthly" |
webhook_url | string | No | — | HTTPS URL for completion notifications (see Webhooks) |
Signal Sheet Configuration
For monitoring existing entities from an ICP's discovery results:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type | "signal-sheet" | Yes | — | Configuration type discriminator |
source_icp_id | string | Yes | — | ID of the Discovery ICP whose entities to monitor |
signal_types | SignalTypeConfig[] | Yes | — | Array of signal type objects with type and criteria fields |
entity_type | string | No | "company" | Entity type to monitor ("company" or "person") |
entity_filters | object | No | — | MongoDB-style query to filter which entities to monitor |
monitoring_frequency | string | No | "weekly" | How often to check: "daily", "weekly", or "monthly" |
webhook_url | string | No | — | HTTPS URL for completion notifications (see Webhooks) |
Field Name
The field is source_icp_id, not sheet_id. This references the ICP whose discovered entities you want to monitor.
Ingest Task Configuration
For importing and enriching entities from CSV files:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type | "ingest" | Yes | — | Configuration type discriminator |
file_id | string | Yes | — | ID of uploaded CSV file (see Files) |
primary_column | string | Yes | — | CSV column containing entity identifier |
csv_entity_type | string | Yes | — | Type of entities in CSV ("company" or "person") |
webhook_url | string | No | — | HTTPS URL for completion notifications (see Webhooks) |
Task Execution
When you execute a task, a Run is created to track the execution. The run contains:
- Status updates as the workflow progresses
- Results including discovered entities or signals
- Resource usage metrics (credits, entities created)
See Runs for details on monitoring execution.
Next Steps
- Runs - Monitor task execution
- Webhooks - Receive completion notifications
- ICPs - Define targeting criteria
- Signals - Understanding signal outputs
- API Reference - Complete task endpoint documentation