Skip to main content
POST
/
flows
/
{flow_slug}
/
run
/
schedule
Schedule a flow asynchronously
curl --request POST \
  --url https://api.edges.run/v1/flows/{flow_slug}/run/schedule \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "cron": "<string>",
  "inputs": [
    {}
  ],
  "callback": {
    "url": "https://example.com/callback",
    "headers": {},
    "on": "all"
  },
  "steps": [
    "<string>"
  ],
  "parameters": {},
  "identity_ids": [
    "44444444-4444-4444-4444-444444444444"
  ],
  "identity_mode": "direct",
  "timezone": "<string>",
  "schedule_at": "2023-11-07T05:31:56Z"
}
'
{
  "schedule_flow_run_uid": "<string>",
  "status": "ACTIVE",
  "cron": "<string>",
  "timezone": "<string>",
  "next_execution_at": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z"
}
Schedule flows to run automatically using cron expressions for recurring schedules or one-time execution at a specific date and time. Perfect for automated data collection, regular enrichment tasks, and workflow automation.

Scheduling Options

You can schedule flows in two ways:
  1. Recurring Schedule (Cron): Use a cron expression to run flows at regular intervals
  2. One-Time Schedule: Schedule a flow to run once at a specific date and time

Required Parameters

Scheduled flows require a callback URL. The callback will be triggered when the scheduled flow executes.

Examples

curl --request POST \
  --url https://api.edges.run/v1/flows/linkedin-people-enrich/run/schedule \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <your-api-key>' \
  --data '{
  "cron": "0 9 * * *",
  "timezone": "America/New_York",
  "inputs": [
    {
      "linkedin_profile_url": "https://www.linkedin.com/in/example"
    }
  ],
  "identity_mode": "managed",
  "callback": {
    "url": "https://your-app.com/webhook/scheduled-flow",
    "headers": {
      "Authorization": "Bearer your-webhook-token"
    }
  }
}'
This runs the flow every day at 9:00 AM Eastern Time.
curl --request POST \
  --url https://api.edges.run/v1/flows/salesnavigator-search-people/run/schedule \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <your-api-key>' \
  --data '{
  "cron": "0 10 * * 1,3,5",
  "timezone": "Europe/Paris",
  "inputs": [
    {
      "sales_navigator_profile_search_url": "https://www.linkedin.com/sales/search/people?keywords=CTO"
    }
  ],
  "identity_mode": "managed",
  "callback": {
    "url": "https://your-app.com/webhook/scheduled-flow"
  }
}'
This runs every Monday, Wednesday, and Friday at 10:00 AM Paris time.
curl --request POST \
  --url https://api.edges.run/v1/flows/linkedin-domain-employees-enrich/run/schedule \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <your-api-key>' \
  --data '{
  "schedule_at": "2026-01-20T14:00:00Z",
  "inputs": [
    {
      "domain": "example.com"
    }
  ],
  "identity_mode": "managed",
  "callback": {
    "url": "https://your-app.com/webhook/scheduled-flow",
    "headers": {
      "Authorization": "Bearer your-webhook-token"
    }
  }
}'
This runs the flow once at the specified date and time.
curl --request POST \
  --url https://api.edges.run/v1/flows/linkedin-content-search-enrich/run/schedule \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <your-api-key>' \
  --data '{
  "cron": "0 * * * *",
  "timezone": "UTC",
  "parameters": {
    "linkedin-search-content": {
      "max_results": 100
    }
  },
  "inputs": [
    {
      "linkedin_content_search_url": "https://www.linkedin.com/search/results/content/?keywords=AI"
    }
  ],
  "identity_mode": "managed",
  "callback": {
    "url": "https://your-app.com/webhook/scheduled-flow",
    "on": "final"
  }
}'
This runs every hour on the hour, with callback only sent when complete.

Cron Expression Format

Cron expressions use POSIX format with 5 fields:
* * * * *
│ │ │ │ │
│ │ │ │ └─ Day of week (0-6, Sunday = 0)
│ │ │ └─── Month (1-12)
│ │ └───── Day of month (1-31)
│ └─────── Hour (0-23)
└───────── Minute (0-59)
Common Examples:
  • 0 9 * * * - Every day at 9:00 AM
  • */30 * * * * - Every 30 minutes
  • 0 */2 * * * - Every 2 hours
  • 0 9 * * 1-5 - Weekdays at 9:00 AM
  • 0 0 1 * * - First day of every month at midnight

Timezone Support

Specify timezone using IANA timezone format (e.g., "America/New_York", "Europe/London", "Asia/Tokyo"). If not provided, UTC is used by default.

Managing Schedules

Once created, you can:
Scheduled flows will execute using the same inputs and parameters you provide. Make sure your callback endpoint can handle the flow results when they execute.

Authorizations

X-API-Key
string
header
required

Path Parameters

flow_slug
string
required

Flow slug

Body

application/json
cron
string
required

Cron expression for scheduling the action. If provided, the action will be scheduled to run at the specified intervals.

Required string length: 1 - 256
inputs
object[]
required
Required array length: 1 - 1000 elements
callback
object
required
steps
string[]

Optional steps to perform in the flow

Optional step slug

parameters
object

Parameters for the flow run

identity_ids
string<uuid>[] | null

An array of Identity UUIDs linked to identities (e.g. LinkedIn) used to execute the Action. You must provide at least one valid UID with access to the integration. Do not use account_uid values — only user_uid is supported.

Example:
["44444444-4444-4444-4444-444444444444"]
identity_mode
enum<string> | null
default:direct

If "auto", the Action will use any identities from the current workspace (unless you have provided a list of identity_ids). "managed" will use the Edges pool of identities for an extra credit cost

Available options:
direct,
auto,
managed
timezone
string

The timezone to use for the cron expression (IANA timezone format, e.g., "America/New_York" or "Europe/Paris"). If not provided, the UTC timezone will be used.

Required string length: 1 - 64
schedule_at
string<date-time>

This is for one shot or 1st programmation calls. If not provided, the run will be scheduled immediately.

Response

Default Response

schedule_flow_run_uid
string

The UID of the scheduled flow.

status
enum<string>

The status of the scheduled flow.

Available options:
ACTIVE,
CANCELLED,
PAUSED,
COMPLETED
cron
string | null

Cron expression for the scheduled flow (POSIX format)

timezone
string | null

Timezone for the scheduled flow (IANA timezone format)

next_execution_at
string<date-time> | null

Next execution at

created_at
string<date-time>

The date and time when the run was created.