Short answer

In the asset list, filter to the assets you want (typically by location tag), tick the checkboxes on the left to select them, then use the action bar at the bottom to Create routine. Pick the frequency, switch the task type to Job if needed, set the assignees, name the routine, and save. The routine then generates one task per asset every cycle until you change it.

Detail

This is the workflow that makes Civic.ly tractable for councils with hundreds or thousands of recurring tasks. The full pattern:

  1. Make sure the assets are loaded. You can only batch what's already there. Assets first, routines second.
  2. Filter the asset list. Most useful filters: Location tag contains [area name], Asset type = [type], or Category = [category]. Combinations work too.
  3. Tick the checkboxes on the left of each row for the assets you want to include. There's a select-all option at the top of the column for bulk selections.
  4. Open the action bar at the bottom of the asset list and click Create routine.
  5. Set the frequency — daily, weekly, fortnightly, monthly, quarterly, etc. For seasonal recurrences see How do I model a recurrence that only runs in certain months (e.g. November to March)?.
  6. Set the task type to Job or Inspection. There's no default and it's mandatory, so this is always an explicit choice. See When should a routine generate Inspections vs Jobs? for which to use.
  7. Pick a Checklist Template if relevant — for bin rounds, the Bin fullness template is the standard; for playground inspections, the Swing Check, Spring Rider Check templates etc. Once the task type is set, the template auto-populates from the asset type — change it only if you want a different one. CHECKLIST COMING SOON means no template maps to that asset type × task type combination (most common on Jobs), not that checklists are unshipped. See How do form templates work, and how do operatives capture data like bin fullness?. 7a. Assign each row. An assignee is required on every row — the routine won't save with an unassigned task. Set the task type and assignees on row one, then click the copy icon at the end of that row to open Bulk apply to all tasks, tick Task type and Assignees, and hit Apply. It copies those two fields only — checklist template, title and description stay per-row. There is no assignee on the routine itself.
  8. Name the routine clearly — "<Area> — <Frequency> <Job>" is the standard pattern ("Memorial Park — Daily Bin Empty", "Jubilee Park — Quarterly Clean").
  9. Save. Tasks are generated for the upcoming cycles immediately and continue generating per the recurrence rule.

Watch-outs

  • Don't tell your team to expect a running order. The routine grid can be reordered and the map numbers the pins, but the mobile app does not present the tasks in that order, so don't build a round on the assumption that whoever walks it will see it as a sequence. In the field they should use sort by nearest and hide completed instead (see What's the recommended way for an operative to use the mobile app each day?).
  • Adding assets to an existing routine: select the asset(s) on the asset list and add them straight to an existing routine (self-serve since 8 Jul 2026 — see Can I add a new asset to a routine I've already created?). New assets pick up the next scheduled cycle.
  • Removing an asset from a routine stops future tasks for it but doesn't delete tasks already generated. Cancel or close those manually if needed.
  • Don't bulk-create one giant routine across multiple areas at the same frequency. Splitting by area gives you cleaner daily task lists and lets you reassign or pause one area without disturbing the others.
  • The first generated task is the canonical place for per-task description. See How do I add a description or specific instructions to the tasks generated by a routine? — set each row's Description as you build the routine, or on an existing routine open the occurrence, edit the description and choose Apply to the [frequency] series from [date] rather than Update this routine ONLY.