> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

Schedule trigger

Schedule triggers allow workflows to run automatically on a recurring time-based rule. When the configured cron expression matches the current time, Port starts a new workflow run.

Use schedule triggers for periodic tasks such as nightly reports, weekly compliance checks, or hourly health scans.

Configuration

A schedule trigger node requires a cron expression in its config:

{
"identifier": "trigger",
"title": "Weekday morning check",
"config": {
"type": "SCHEDULE_TRIGGER",
"cron": "0 9 * * 1-5"
}
}

In the workflow builder, the schedule trigger node displays a human-readable description of the cron expression (for example, "At 09:00 AM, Monday through Friday"). If the expression is missing or invalid, the node shows a generic placeholder instead.

Minimum schedule interval

The scheduler can run a workflow at most once every 5 minutes. Cron expressions that would fire more often than every 5 minutes are not supported.

Published

The published field controls whether the trigger is active and scheduled. When set to false, the workflow will not run on its cron schedule.

PropertyTypeDefaultDescription
publishedbooleantrueWhen `true`, the trigger is active and will run on its cron schedule. When `false`, the trigger is disabled.

This is useful for temporarily disabling a workflow without deleting it, or for creating workflows that are not yet ready for production use.

Cron expression format

Schedule triggers use standard 5-field cron syntax:

┌───────────── minute (0-59)
│ ┌─────────── hour (0-23)
│ │ ┌───────── day of month (1-31)
│ │ │ ┌─────── month (1-12)
│ │ │ │ ┌───── day of week (0-7, where 0 and 7 are Sunday)
│ │ │ │ │
* * * * *

Common examples

Run every day at 9:00 AM UTC:

{
"identifier": "trigger",
"title": "Daily report",
"config": {
"type": "SCHEDULE_TRIGGER",
"cron": "0 9 * * *"
}
}

Cron field reference

FieldValuesSpecial characters
Minute0-59*, ,, -, /
Hour0-23*, ,, -, /
Day of month1-31*, ,, -, /
Month1-12*, ,, -, /
Day of week0-7 (0 and 7 are Sunday)*, ,, -, /
Timezone

Schedule triggers run in UTC. Convert your desired local time to UTC when writing cron expressions.

Multiple triggers

A workflow can include a schedule trigger alongside other trigger types (self-service, event, or agent tool). At runtime, only the trigger that fired produces outputs. See multiple triggers for details.

Example: weekly compliance scan

This workflow runs every Monday at 8:00 AM UTC and sends a webhook to an external compliance service:

{
"identifier": "weekly-compliance-scan",
"title": "Weekly compliance scan",
"icon": "Shield",
"description": "Run a weekly compliance check and notify the security team",
"nodes": [
{
"identifier": "trigger",
"title": "Every Monday at 8 AM",
"config": {
"type": "SCHEDULE_TRIGGER",
"cron": "0 8 * * 1"
}
},
{
"identifier": "notify-security",
"title": "Notify security team",
"config": {
"type": "WEBHOOK",
"url": "https://api.example.com/compliance/weekly-scan",
"method": "POST",
"body": {
"source": "port-schedule",
"workflow": "weekly-compliance-scan"
}
}
}
],
"connections": [
{
"sourceIdentifier": "trigger",
"targetIdentifier": "notify-security"
}
]
}