Recurring tasks¶
A recurring task pattern is a template that generates issues on a schedule. Instead of remembering to create the same issue every week or month, you define the pattern once and Specivo creates each instance for you automatically.
Recurring tasks live at Projects → (your project) → Recurring tasks in the left sidebar.
What a pattern is¶
A pattern is not an issue itself. It holds two things:
- A schedule — when and how often to fire (daily, weekly, monthly, yearly, with all the refinements you need).
- An issue template — the fields every generated issue is born with: subject, tracker, status, priority, assignee, description, and metadata.
Each time the schedule fires, Specivo creates a real issue in the project using the template. The issue is fully ordinary — you can comment on it, move it through statuses, log time, and link it to other issues — just like one you created by hand.
Creating a pattern¶
Go to the project's Recurring tasks area and click New pattern.
Name and enabled toggle¶
Give the pattern a clear name you'll recognize in the list (for example, "Weekly status report" or "Monthly database backup check"). The Enabled toggle controls whether the pattern actively generates issues. You can disable a pattern temporarily without deleting it.
Schedule¶
The schedule section is where you define the recurrence rule.
| Field | What it controls |
|---|---|
| Frequency | How often: daily, weekly, monthly, or yearly |
| Repeat every | The interval — 2 with frequency Weekly means every two weeks |
| On weekdays | Which days of the week (for weekly rules, or combined with set position for monthly) |
| On days of month | Specific day numbers (1, 15, -1 for the last day) — monthly only |
| Set position | The nth occurrence within the period (1 = first, 2 = second, -1 = last) — combine with a weekday to express "the second Tuesday" |
| Start | The date and time the series is anchored to (the first possible occurrence) |
| Timezone | The IANA timezone for occurrence computation, e.g. Europe/London. Occurrences fire at the same wall-clock time year-round, adjusting for daylight saving. |
Live preview
The form shows a Next occurrences preview as you build the rule, so you can verify the schedule looks right before saving.
Examples¶
- Every Monday: frequency Weekly, no weekday selected (anchors to the start date's weekday — make the start date a Monday), or select MO.
- Every two weeks on Tuesday and Thursday: frequency Weekly, interval 2, weekdays TU and TH.
- The last day of the month: frequency Monthly, on days of month
-1. - The second Tuesday of every month: frequency Monthly, weekday TU, set position
2.
Start date and timezone¶
The Start field is the series anchor: it sets both the time of day and the earliest possible occurrence. Set the Timezone to the IANA zone that makes sense for the people doing the work. Specivo keeps the wall-clock time constant across DST transitions — a 09:00 Monday pattern stays at 09:00 local time in winter and summer.
Anchor mode¶
Anchor mode is the most important behavioural choice:
- Fixed (default)
- Every occurrence fires on its scheduled calendar date regardless of whether the previous instance is closed. If the generator missed a run (downtime, maintenance), any overdue occurrences are created the next time it runs and they stack up. Use fixed for calendar-driven events that should happen on a specific date no matter what — standups, weekly reports, sprint ceremonies.
- Flexible
- The next occurrence is only created once the previous instance is closed (status in the done or closed category). There is at most one open instance at a time. Use flexible for chores where "do it again" only makes sense after "you finished the last one" — database maintenance, security audits, one-at-a-time review cycles.
When anchor mode is Flexible, an additional Base date setting appears and controls where the next occurrence is measured from:
- Scheduled date — the next occurrence is measured from when the previous one was supposed to happen. Closing an instance late doesn't push the series forward.
- Completion date — the next occurrence is measured from when the previous instance actually closed. Useful when the gap between instances matters more than the calendar date.
Creation lead time¶
Creation lead time (days) controls how far ahead issues are generated. The default is 30 days: a background job runs roughly every hour and creates any issues due within the next 30 days that haven't been generated yet. Increase this if you want issues to appear further in advance; decrease it if you only want them to appear close to the due date.
The issue template¶
The lower half of the form defines what each generated issue looks like.
| Field | What it sets |
|---|---|
| Subject | The issue title — supports date macros |
| Tracker | The issue type (Bug, Feature, Task, etc.) |
| Status | The starting status; leave as "Tracker default" to use the tracker's configured default |
| Priority | The starting priority |
| Default assignee | Who the issue is assigned to when created |
| Description template | The issue body — also supports date macros |
Carry over and reset¶
The Carry over & reset section controls which template values are applied to each generated instance:
- Carry over description — apply the description template to generated issues (on by default).
- Carry over assignee — assign generated issues to the default assignee (on by default).
- Carry over metadata — apply template metadata to generated issues (on by default).
- Carry over estimated hours — set estimated hours from the template (on by default).
- Reset checklist — if the template metadata includes boolean (checklist-style) fields, reset them to unchecked on each new instance. Useful for recurring checklists where each instance should start fresh.
Assignee rotation¶
Instead of assigning every instance to the same person, you can rotate across a list of members. Select the members to rotate through; Specivo assigns each new occurrence to the next person in the list, cycling back to the beginning. Rotation overrides the default assignee when both are set.
Date macros¶
The template Subject and Description support date macros that expand to each occurrence's local date (in the pattern's timezone). This keeps generated issues distinct — rather than ten identical "Status report" issues, you get "Status report — 18 June 2026", "Status report — 25 June 2026", and so on.
| Macro | Expands to | Example (18 June 2026) |
|---|---|---|
{{year}} |
Four-digit year | 2026 |
{{quarter}} |
Quarter with Q prefix | Q2 |
{{month}} |
Full month name | June |
{{month_num}} |
Two-digit month number | 06 |
{{day}} |
Two-digit day of month | 18 |
{{weekday}} |
Full weekday name | Thursday |
Month and weekday names are localized to the workspace language. If your workspace is set to French,
{{month}} outputs juin; if set to Thai, it outputs มิถุนายน.
{{quarter}} already includes the Q
Write {{quarter}} {{year}} review, not Q{{quarter}} {{year}} review. The macro already
outputs Q2, so the second form would produce QQ2 2026.
Example: a subject of {{weekday}} standup — {{day}} {{month}} {{year}} generates
Thursday standup — 18 June 2026 for the occurrence on 18 June 2026.
Unknown macro names are left unchanged in the output, so a typo like {{mnth}} appears literally
rather than silently disappearing.
How generation works¶
A background job runs roughly every hour and generates any issues that are due within the look-ahead window and haven't been created yet. The job is:
- Idempotent — running it twice creates no duplicates.
- Catch-up aware — if a generation was missed (for example during scheduled maintenance), the next run creates all overdue occurrences at once (in fixed mode).
- Fault-isolated — a problem with one pattern never stops generation for others.
Each generated issue shows a "Created from recurring pattern" line in its Activity tab, with a link back to the pattern. This is the provenance trail — you can always find which pattern produced a given issue.
Viewing a pattern¶
Click a pattern name from the Recurring tasks list to open its detail page. The detail page shows:
- Schedule — the configured rule, timezone, anchor mode, and lead time.
- Template — the subject, carry-over settings, and rotation roster.
- Upcoming occurrences — the next scheduled dates within the look-ahead window. Managers can click Skip next to any upcoming occurrence to exclude it.
- Live preview — a refreshable view of the next occurrences the engine would generate.
- Generated instances — a table of every issue the pattern has produced, with its status and scheduled occurrence date.
Editing a pattern¶
From the detail page, click Edit. A notice on the form reminds you: editing a pattern affects future instances only. Issues already generated keep the values they were created with; only occurrences not yet materialized pick up the new template or schedule.
If you need the change to apply from a specific future date while preserving the history before it, ask a project manager or use an AI agent to perform a this-and-future split via the API. This terminates the old series just before the chosen occurrence and starts a fresh pattern from that point forward.
Skipping a single occurrence¶
From the pattern detail page, the Upcoming occurrences list shows each scheduled date with a Skip button. Skipping removes that one date from the series — the issue is never created. If an untouched issue was already generated for that occurrence (still in an open status with no progress recorded), it is removed. Skipped occurrences do not count as completions in flexible mode.
Disabling and deleting a pattern¶
- Disable — uncheck Enabled and save. No new issues are generated, but existing ones remain and the pattern's history is preserved. Re-enable it at any time.
- Delete — deletes the pattern. Issues already generated survive (their link back to the pattern is cleared); skip and override exceptions are removed.
Through an AI agent¶
Recurring patterns can also be created, updated, and inspected by a connected AI agent. See AI agents & MCP and the tool catalog for the available tools.