Dashboard
Agency Guide

Bulk Policy Generation

Bulk generation lets you upload a CSV file and generate policies for up to 50 clients in a single batch. Each row in the CSV represents one client, and you can request multiple policy types per client in the same row.

CSV format

Download the template from Agency → Bulk Tools — it includes sample data and all supported columns. The CSV must be UTF-8 encoded.

Required columns

ColumnRequiredDescription
client_nameYesBusiness name for the generated policy
policy_typesYesComma-separated policy type slugs (e.g. privacy-policy,cookie-policy)
jurisdictionYesISO country code or jurisdiction name (e.g. GB, US-CA, EU)
languageNoISO language code. Defaults to en
domainNoClient website URL. Used in policy content
brand_nameNoOverride the display name in the policy. Defaults to client_name
industryNoIndustry sector. Improves policy accuracy

Example CSV

client_name,policy_types,jurisdiction,language,domain,industry
Acme Corp,"privacy-policy,cookie-policy,terms-of-service",GB,en,acme.com,SaaS
Boutique Luxe,"privacy-policy,refund-policy",FR,fr,boutiqueluxe.fr,Retail
Health First,"privacy-policy,hipaa-privacy-policy",US,en,healthfirst.com,Healthcare
💡 You can request multiple policy types per client by separating them with commas inside the policy_types field (wrap the cell value in quotes in your CSV). Each type generates a separate policy document.

Running a bulk job

Go to Agency → Bulk Tools and upload your CSV. A preview shows the number of clients and total policies to be generated (e.g. “3 clients · 7 policies to generate”). Review the preview, then click Generate.

Progress is shown live — each row updates with a status indicator as it completes. Large batches may take several minutes.

Results CSV

When generation completes, download the Results CSV. It includes:

  • client_name — as provided
  • policy_type — each policy type as a separate row
  • status — success or failed
  • policy_url — direct link to the generated policy in your dashboard
  • error — error message if generation failed
  • generated_at — timestamp

Error handling

If a row fails (e.g. invalid jurisdiction code, network timeout), the other rows continue generating. Failed rows appear in the results CSV with an error description. Fix the issue and re-run just the failed rows — upload a new CSV with only those clients.

Limits

Up to 50 client rows per batch. Each row can have multiple policy types — the policy count shown in the preview reflects the total number of documents to generate across all rows. There is no limit on total policies generated (on Agency plans).