LinktLinkt

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

{
  "id": "507f1f77bcf86cd799439013",
  "name": "Enterprise SaaS Company Search",
  "description": "Search for B2B SaaS companies",
  "flow_name": "search",
  "deployment_name": "main",
  "icp_id": "507f1f77bcf86cd799439011",
  "task_config": {
    "type": "search",
    "desired_contact_count": 1,
    "user_feedback": ""
  }
}

Flow Names

The flow_name field determines what type of workflow the task executes:

Flow NamePurposeTask Type
searchDiscover new entities matching ICP criteriasearch
signal-topicMonitor topics for business signalssignal-topic
signal-csvGenerate signals from uploaded CSV datasignal-csv
signal-sheetMonitor existing sheet entities for signalssignal-sheet
ingestImport and enrich entities from CSV filesingest

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:

{
  "type": "search",
  "desired_contact_count": 1,
  "user_feedback": ""
}
FieldTypeRequiredDefaultDescription
type"search"YesConfiguration type discriminator
desired_contact_countintegerNo1Number of contacts to find per company (minimum: 1)
user_feedbackstringNo""Feedback to refine search results
webhook_urlstringNoHTTPS URL for completion notifications (see Webhooks)

Signal Topic Configuration

For monitoring topics across the web for business signals:

{
  "type": "signal-topic",
  "topic_criteria": "AI startups raising Series A funding",
  "signal_types": [
    {"type": "funding", "criteria": "Series A or later rounds"}
  ],
  "entity_type": "company",
  "monitoring_frequency": "weekly",
  "geographic_filters": ["United States"],
  "industry_filters": ["Technology"]
}
FieldTypeRequiredDefaultDescription
type"signal-topic"YesConfiguration type discriminator
topic_criteriastringYesNatural language description of what to monitor
signal_typesSignalTypeConfig[]YesArray of signal type objects with type and criteria fields
entity_typestringNo"company"Entity type to monitor ("company" or "person")
monitoring_frequencystringNo"weekly"How often to check: "daily", "weekly", or "monthly"
geographic_filtersstring[]NoGeographic regions to focus on
industry_filtersstring[]NoIndustries to filter by
company_size_filtersstring[]NoCompany size criteria
webhook_urlstringNoHTTPS URL for completion notifications (see Webhooks)

Signal CSV Configuration

For generating signals from uploaded CSV data:

{
  "type": "signal-csv",
  "file_id": "507f1f77bcf86cd799439030",
  "signal_types": [
    {"type": "hiring_surge", "criteria": "Engineering team growth > 20%"}
  ],
  "entity_type": "company",
  "primary_column": "name",
  "monitoring_frequency": "weekly"
}
FieldTypeRequiredDefaultDescription
type"signal-csv"YesConfiguration type discriminator
file_idstringYesID of uploaded CSV file (see Files)
signal_typesSignalTypeConfig[]YesArray of signal type objects with type and criteria fields
entity_typestringNo"company"Entity type in the CSV ("company" or "person")
primary_columnstringNo"name"CSV column containing entity names
monitoring_frequencystringNo"weekly"How often to check: "daily", "weekly", or "monthly"
webhook_urlstringNoHTTPS URL for completion notifications (see Webhooks)

Signal Sheet Configuration

For monitoring existing entities from an ICP's discovery results:

{
  "type": "signal-sheet",
  "source_icp_id": "507f1f77bcf86cd799439011",
  "signal_types": [
    {"type": "leadership_change", "criteria": "C-level departures or appointments"}
  ],
  "entity_type": "company",
  "entity_filters": {"industry": "Technology"},
  "monitoring_frequency": "weekly"
}
FieldTypeRequiredDefaultDescription
type"signal-sheet"YesConfiguration type discriminator
source_icp_idstringYesID of the Discovery ICP whose entities to monitor
signal_typesSignalTypeConfig[]YesArray of signal type objects with type and criteria fields
entity_typestringNo"company"Entity type to monitor ("company" or "person")
entity_filtersobjectNoMongoDB-style query to filter which entities to monitor
monitoring_frequencystringNo"weekly"How often to check: "daily", "weekly", or "monthly"
webhook_urlstringNoHTTPS URL for completion notifications (see Webhooks)

Ingest Task Configuration

For importing and enriching entities from CSV files:

{
  "type": "ingest",
  "file_id": "507f1f77bcf86cd799439030",
  "primary_column": "company_name",
  "csv_entity_type": "company"
}
FieldTypeRequiredDefaultDescription
type"ingest"YesConfiguration type discriminator
file_idstringYesID of uploaded CSV file (see Files)
primary_columnstringYesCSV column containing entity identifier
csv_entity_typestringYesType of entities in CSV ("company" or "person")
webhook_urlstringNoHTTPS 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

On this page