> For the complete documentation index, see [llms.txt](https://help.agencydesk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.agencydesk.io/company-settings/recurring-jobs.md).

# Recurring Jobs

Automate Recurring Jobs for retainers, weekly reporting cycles, and annual renewals. Set flexible recurrence patterns tailored to agency workflows.

**Recurring Jobs** are how Agencydesk automates the work that happens on a schedule. Because Agencydesk is built exclusively for agencies, the recurrence patterns are shaped around real agency workflows: monthly and bi-monthly retainers, weekly campaign reporting, and annual renewals like plugin licences, domain renewals, and contract refreshes.

Each Recurring Job pulls its structure from a Job Template, so the same Job Costing, Tasks, and Costs are created automatically each cycle. This keeps delivery consistent across the team as retainer volume grows and removes the manual admin of setting up the same Job over and over.

## Common use cases

* **Monthly and bi-monthly retainers.** SEO retainers, content retainers, PR retainers, hosting and maintenance retainers.
* **Weekly cycles.** Campaign reporting for active clients, weekly performance summaries, weekly production planning.
* **Quarterly work.** Quarterly business reviews, quarterly strategy sessions, quarterly financial reporting.
* **Annual renewals.** Plugin licences, domain renewals, hosting contract renewals, and annual retainer refreshes.

## Before you start

A Recurring Job needs a Job Template to work from. If you don’t have one yet, create the Template first so the Recurring Job has a Job Costing, Tasks, and Costs to replicate each cycle.

## Setting up a Recurring Job

{% stepper %}
{% step %}
Navigate to **Company Settings > Recurring** and click **+ New Recurring**.
{% endstep %}

{% step %}
Give the recurrence a clear **Recurrence Name** so it’s easy to identify later in the list (for example, “Williams Monthly SEO Retainer”).
{% endstep %}

{% step %}
Set the **Job Naming** pattern. This is the name each generated Job will use.

{% hint style="info" %}
Use dynamic naming variables so each Job is automatically named for its cycle:

* `{client}` inserts the Client name
* `{month}` inserts the current month
* `{month+1}` inserts next month (useful for retainers named ahead)
* `{month+2}`, `{month+3}` and so on for longer offsets
* `{year}` inserts the current year

Examples:

* `{client} {month+1} Retainer`
* `ANC {year} Hosting`
* `{month} Content Calendar`
  {% endhint %}
  {% endstep %}

{% step %}
Choose the **Job Template** to use. The Template defines the Job Costing, Tasks, and Costs for each generated Job.
{% endstep %}

{% step %}
Select the **Client** for the Recurring Job. Task rates are automatically applied based on the Client’s assigned Billing Tier.
{% endstep %}

{% step %}
Configure the **recurrence pattern** using **Repeat Every** and the corresponding day or date field (see [Recurrence patterns](#recurrence-patterns) below for the options available).
{% endstep %}

{% step %}
Choose when the recurrence should **End** (see [Ending a Recurring Job](#ending-a-recurring-job) below).
{% endstep %}

{% step %}
Review the four **Template Options**: Preserve Timeline, Preserve Milestones, Activate Tasks and Activate Costs (see below).
{% endstep %}

{% step %}
Click **Save** to finalise the Recurring Job.
{% endstep %}
{% endstepper %}

## Recurrence patterns

Agencydesk supports Weekly, Monthly, and Yearly recurrence patterns, each with the granularity most agencies need.

### Weekly

Set **Repeat Every** to `1 Week(s)`, or `2`, `3`, and so on for bi-weekly and less-frequent cycles. Then pick the day of the week under **On Day**.

Best for weekly campaign reporting, weekly performance summaries, and any deliverable that lands on the same day each week.

### Monthly

Set **Repeat Every** to `1 Month(s)` for monthly, `2 Month(s)` for bi-monthly, `3 Month(s)` for quarterly, and so on.

For **On Day**, either:

* Choose a specific day of the month (any date from 1 to 31), **or**
* Tick **Last day of month** to always run on the final day of the month.

Best for monthly retainers, bi-monthly reporting cycles, and quarterly reviews.

{% hint style="info" %}
The **Last day of month** option is particularly useful for month-end billing patterns where cycles need to align with the actual last day of the month, whether that’s the 28th, 29th, 30th, or 31st. Agencydesk handles the calendar variation automatically.
{% endhint %}

### Yearly

Set **Repeat Every** to `1 Year(s)`, or `2`, `3`, and so on for less-frequent cycles. Then pick a **Starting** date using the date picker. Each future occurrence runs on the same day and month as the starting date.

Best for annual renewals: plugin licences, domain renewals, hosting contract renewals, and annual retainer refreshes.

## Ending a Recurring Job

Under **Ends**, choose one of three options:

* **Never** (default). The Recurring Job runs indefinitely, generating a new Job at each cycle until the recurrence is deactivated. Good for open-ended retainers.
* **On \[date]**. The Recurring Job stops generating new Jobs on the specified date. Good for fixed-term contracts with a clear end date.
* **After \[X] Occurrences**. The Recurring Job stops after a set number of Jobs have been generated. Good for contracts with a defined length, for example a 12-month retainer that should produce exactly 12 Jobs.

## Template Options

Each generated Job uses the recurrence’s saved choices. Choosing a Template for a new recurrence can preselect its stored options; editing an existing recurrence keeps the recurrence’s own saved choices.

| Template Option     | What it carries into the new Job                                                                                                                                        |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Preserve Timeline   | Keeps each Task’s start offset and duration relative to the source Job, mapped onto the new Job’s start date. When off, copied Tasks use the new Job’s start/end dates. |
| Preserve Milestones | Copies Milestone labels and mapped dates. Links point to the copied Task, Group or Cost where that item is copied. Status and completion are reset for the new Job.     |
| Activate Tasks      | Activates the copied Tasks. When off, they remain Draft for review and manual activation.                                                                               |
| Activate Costs      | Activates the copied Costs independently of Tasks. When off, they remain Draft.                                                                                         |

### Saving the choices

{% stepper %}
{% step %}
Open the Recurring Job’s settings and review all four **Template Options**.
{% endstep %}

{% step %}
Choose activation for Tasks and Costs independently. Leave an option off where those items need review before activation.
{% endstep %}

{% step %}
Click **Save** to store the recurrence’s settings.
{% endstep %}

{% step %}
When the next Job is generated, review its mapped dates and Milestones, then assign people and schedule their work.
{% endstep %}
{% endstepper %}

See [Managing Jobs](/jobs/managing-jobs.md) for date mapping, including the possible extension of the new Job’s end date.

{% hint style="info" %}
A retainer has a stable monthly Task list but variable supplier costs. Activate Tasks can be on while Activate Costs stays off, giving the studio its task structure while the account executive reviews that month’s purchases.
{% endhint %}

## Managing Recurring Jobs

All active and inactive Recurring Jobs are listed under **Company Settings > Recurring**. From the list you can:

* See the **Recurrence Name**, **Job Naming pattern**, **Job Template**, **next scheduled run**, **frequency**, **end condition**, and **active status** for each recurrence.
* Toggle a recurrence **Active / Inactive** using the switch in the **Active** column. Deactivating pauses future Job generation without removing the recurrence itself, so you can pick it up again later.
* Click a **Recurrence Name** to open the detail view where all settings can be edited.

{% hint style="info" %}
The **Until** column shows either the fixed end date, `Ongoing (X/∞)` for recurrences with no end, or `Ongoing (X/Y)` for recurrences ending after a set number of occurrences, where X is the count already generated and Y is the total planned.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.agencydesk.io/company-settings/recurring-jobs.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
