1. Workflows
Leadfeeder API
  • Leadfeeder API
  • Authentication
  • Getting Started
  • Rate Limits
  • Relationships
  • Company ID Lifecycle
  • OpenAPI Specification Access
  • List of NACE / WZ codes
  • List of Industries
  • AI & MCP (Beta)
    • Overview of the Leadfeeder MCP Server
    • Quickstart
    • Connect your AI tool
    • Authentication and permissions
  • Account
    • List Accounts
  • Companies
    • Get Company Details
    • Update a Company
    • Retrieve Companies
    • Company Financial Reports
    • Retrieve Company IPs
    • Search Company Signals
    • Search Companies
    • Match Companies
    • Add Company to Lists
    • Remove Company from Lists
    • Assign Tags to Company
    • Unassign Tags from Company
    • Estimate Company Enrichment Job
    • Create Company Enrichment Job
    • Get Company Enrichment Job Status
  • Contacts
    • Get Contact Details
    • Update a Contact
    • Retrieve Contacts
    • Search Contacts
    • Add Contact to Lists
    • Remove Contact from Lists
    • Estimate Find Contact Data Job
    • Create Find Contact Data Job
    • Get Find Contact Data Job Status
  • Web Visits
    • How to Create Custom Feed
    • Custom Feed - Filter Reference
    • Search Web Visits
    • Retrieve Custom Feeds
    • Create a Custom Feed
    • Get Custom Feed Details
    • Update Custom Feed
    • Delete a Custom Feed
    • Retrieve Custom Feeds Folders
    • Retrieve Web Visits Tracker Script
    • Retrieve Visitor Companies
  • Campaigns
    • Retrieve Campaigns
    • Get Campaign Details
    • Update Campaign
    • Retrieve Campaign Stats
  • IP
    • Enrich Company IP Address
  • Buyer Personas
    • Retrieve Buyer Personas
    • Create a Buyer Persona
    • Get Buyer Persona Details
    • Update a Buyer Persona
    • Delete a Buyer Persona
  • Ideal Customer Profiles
    • Retrieve Ideal Customer Profiles
    • Create an Ideal Customer Profile
    • Get Ideal Customer Profile Details
    • Update an Ideal Customer Profile
    • Delete an Ideal Customer Profile
    • Retrieve Company ICP Matches
  • Tags
    • Retrieve Tags
    • Create Tag
    • Get Tag Details
    • Update Tag
    • Delete Tag
    • Create Batch Add Tags Job
    • Get Batch Add Tags Job
    • Create Batch Remove Tags Job
    • Get Batch Remove Tags Job
  • Lists
    • Retrieve Lists
    • Create a List
    • Get List Details
    • Update List
    • Delete List
    • Retrieve List Items
    • Retrieve Company List Memberships
    • Retrieve Contact List Memberships
    • Create Batch Add to List Job
    • Get Batch Add to List Job
    • Create Batch Remove from List Job
    • Get Batch Remove from List Job
  • Custom Fields
    • Retrieve Custom Fields
    • Create Custom Field
    • Get Custom Field Details
    • Update Custom Field
    • Delete Custom Field
  • Users
    • Get Current User
  • Usage
    • Get Endpoints Usage
  • Workflows
    • Retrieve Workflows
      GET
    • Create Workflow
      POST
    • Retrieve Workflow Action Definitions
      GET
    • Retrieve Workflow Trigger Definitions
      GET
    • Retrieve Workflow Templates
      GET
    • Get Workflow Details
      GET
    • Update Workflow
      PATCH
  • Reference Data
    • Get Geo Suggestions
    • Get Countries with Regions
  • Schemas
    • AccountCompanyV1
    • AccountV1
    • AccountSummaryV1
    • CompanyV1
    • ErrorObjectV1
    • ICPV1
    • CompanyFinancialsV1
    • IpAddressExtendedV1
    • UserV1
    • CompaniesAdvancedSearchFilterItem
    • ContactFilterGroupsV1
    • BuyerPersonaV1
    • ContactV1
    • EnrichmentJobV1
    • GeoSuggestionV1
    • ContactSummaryV1
    • MaskedContactSummaryV1
    • TagV1
    • ListV1
    • IcpRequestV1
    • VisitLocationV1
    • BuyerPersonaRequestV1
    • WebVisitV1
    • BatchAddTagsJobV1
    • BatchRemoveTagsJobV1
    • CRMUserV1
    • CRMOrganizationV1
    • EnrichedIpV1
    • CRMContactV1
    • CRMLeadV1
    • CRMConnectionV1
    • CustomFeedRequestV1
    • CRMSuggestionV1
    • CRMGroupConnectionV1
    • WorkflowV1
    • WorkflowActionDefinitionV1
    • CompanyIpV1
    • WorkflowTriggerDefinitionV1
    • WorkflowTemplateV1
    • SignalV1
    • CompanySummaryV1
    • MaskedCompanySummaryV1
    • CompanyMatchV1
    • CountryV1
    • FindContactDataJobV1
    • BatchAddToListJobV1
    • CustomFieldV1
    • BatchRemoveFromListJobV1
    • CustomFeedV1
    • CampaignSettingsV1
    • CampaignSummaryV1
    • CampaignLocationV1
    • CampaignV1
    • CampaignStatsV1
    • IpLocationV1
    • NetworkV1
    • ApiUsageV1
    • CustomFeedFolderV1
    • WebVisitsTrackerScriptV1
    • LocationV1
    • CompanyLocationV1
  1. Workflows

Create Workflow

POST
/v1/workflows
Create a workflow in the account from a definition you supply.
Pass a name, plus definition_version and definition. Build the definition out of the actions and triggers returned by Retrieve Workflow Action Definitions and Retrieve Workflow Trigger Definitions.
To start from a ready-made definition instead, take one from Retrieve Workflow Templates and replace its {{variables.<name>}} placeholders with the values for your account.
The workflow is always created disabled, and its definition is stored as sent without being validated — an incomplete or draft definition is accepted. Nothing runs until you enable it through Update Workflow, which is where the definition is validated.
Credit Note: Creating a workflow does not consume credits.
INFO
Requires the workflows:write OAuth2 scope.

Request

Authorization
API Key
Add parameter in header
X-Api-Key
Example:
X-Api-Key: ********************
or
Query Params

Body Params application/jsonRequired

Examples
{
    "data": {
        "type": "workflow",
        "attributes": {
            "name": "Route hot leads to Slack",
            "description": "Notifies #sales whenever a company lands on the Hot Leads list.",
            "definition_version": "V1",
            "definition": {
                "triggers": [
                    {
                        "name": "company_added_to_list",
                        "filters": [
                            {
                                "attribute": "list_id",
                                "op": "eq",
                                "value": "42"
                            }
                        ]
                    }
                ],
                "steps": {
                    "notify_sales": {
                        "action_name": "send_company_to_slack",
                        "options": {
                            "channel": "#sales"
                        }
                    }
                },
                "order": {
                    "trigger": [
                        "notify_sales"
                    ]
                }
            }
        }
    }
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api.leadfeeder.com/v1/workflows?account_id=123456' \
--header 'X-Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "data": {
        "type": "workflow",
        "attributes": {
            "name": "Route hot leads to Slack",
            "description": "Notifies #sales whenever a company lands on the Hot Leads list.",
            "definition_version": "V1",
            "definition": {
                "triggers": [
                    {
                        "name": "company_added_to_list",
                        "filters": [
                            {
                                "attribute": "list_id",
                                "op": "eq",
                                "value": "42"
                            }
                        ]
                    }
                ],
                "steps": {
                    "notify_sales": {
                        "action_name": "send_company_to_slack",
                        "options": {
                            "channel": "#sales"
                        }
                    }
                },
                "order": {
                    "trigger": [
                        "notify_sales"
                    ]
                }
            }
        }
    }
}'

Responses

🟢201Created
application/json
The workflow was created. It is always created disabled.
Bodyapplication/json

Example
{
    "data": {
        "type": "workflow",
        "id": "9f8b7c6d5e4f",
        "attributes": {
            "name": "Route hot leads to Slack",
            "description": null,
            "enabled": false,
            "workflow_type": "company",
            "version": 1,
            "definition_version": "V1",
            "definition": {
                "triggers": [
                    {
                        "name": "company_added_to_list",
                        "filters": [
                            {
                                "attribute": "list_id",
                                "op": "eq",
                                "value": "42"
                            }
                        ],
                        "options": {}
                    }
                ],
                "steps": {
                    "notify_sales": {
                        "action_name": "send_company_to_slack",
                        "options": {
                            "channel": "#sales"
                        }
                    }
                },
                "order": {
                    "trigger": [
                        "notify_sales"
                    ]
                }
            },
            "has_errors": false,
            "disabled_at": "2026-08-07T11:04:00Z",
            "disabled_reason": "manual",
            "created_at": "2026-08-07T11:04:00Z",
            "updated_at": "2026-08-07T11:04:00Z",
            "app_url": "https://app.leadfeeder.com/z/123456/workflows/9f8b7c6d5e4f"
        },
        "relationships": {
            "created_by": {
                "id": "123456",
                "type": "user"
            },
            "disabled_by": null
        }
    },
    "meta": {
        "request_id": "cf054205-dd8c-4473-8689-07c30fe0789f"
    }
}
🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠429
🔴500Server Error
🔴504Gateway Timeout
Modified at 2026-08-31 12:06:53
Previous
Retrieve Workflows
Next
Retrieve Workflow Action Definitions
Built with