> 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"
}
]
}