Recurring Tickets
Automatically create tickets on a schedule. A recurring ticket combines a ticket template with a cron schedule; each occurrence creates a new ticket from the template.
Access: Team Lead role or higher. Found in Settings → Recurring Tickets.
Creating a Recurring Ticket
- Go to Settings → Recurring Tickets
- Click + Create recurring ticket
- Fill in the form:
| Field | Description | |---|---| | Name | Display name (max 100 characters) | | Template | Ticket template to use for created tickets | | Schedule | When to create tickets | | Timezone | IANA timezone for schedule evaluation |
Schedule Options
Choose from preset schedules or use a custom cron expression:
- Daily: fires once per day at a specified time
- Weekly: fires on a chosen day of the week at a specified time
- Monthly: fires on a chosen day of the month at a specified time
- Custom (cron): any 5-field Unix cron expression for advanced patterns
The Next 5 occurrences preview shows upcoming fire times so you can verify the schedule before saving.
Monthly Edge Case
Monthly schedules on days that don't exist in certain months (e.g., the 31st in April) fire on the last day of that month.
Title Tokens
Templates support date tokens that expand at creation time:
{{date}}, current date (YYYY-MM-DD){{week_number}}, ISO week number{{month_name}}, full month name (e.g., "January")
Managing Recurring Tickets
Available Actions
| Action | Description | |---|---| | Edit | Change schedule, template, or name (future fires only) | | Pause | Temporarily stop the schedule | | Resume | Reactivate a paused ticket (recomputes next fire time) | | Run now | Manually trigger ticket creation without affecting the schedule | | Duplicate | Open a pre-filled form based on an existing recurring ticket | | Delete | Permanently remove (already-created tickets remain) |
Status Indicators
| Status | Meaning | |---|---| | Active | Running normally | | Paused | Manually paused | | Error | Last execution failed, check the error message |
Limits
- Maximum 20 active recurring tickets per project
- Name limited to 100 characters
- "Run now" and "Duplicate" are disabled for paused tickets
How It Works
A background job runs every minute and:
- Finds recurring tickets where the next fire time has passed
- Locks each one to prevent duplicate creation
- Creates a ticket from the linked template
- Advances the schedule to the next fire time
If creation fails, the system retries once after 5 minutes. If the retry also fails, the recurring ticket enters an error state and you'll receive an in-app notification.
Assignee Handling
If the template's assignee no longer exists, is inactive, or was removed from the project, the ticket is created unassigned and you'll be notified.
Troubleshooting
| Problem | Solution | |---|---| | "Maximum number reached" | Pause or delete an existing recurring ticket (limit: 20 per project) | | Error state | Check the error message on the card. Common: template deleted, required field missing | | Tickets not being created | Verify the system cron is running | | Wrong fire time | Check the timezone; the preview shows times in your browser's local timezone | | Access denied | Requires Team Lead role or higher |