Help Center Open AgencyOS

CSV templates

The columns each import expects, with an example row for every record type.

Every import in AgencyOS takes a CSV file with a header row. The quickest way to get it right is to click Download sample CSV in the import window, replace the example row and upload it. This page lists the columns for each kind of record, so you can prepare a file in advance or check why a row was refused.

Rules for every file

  • Keep the header row exactly as in the sample: same names, any order. Extra columns are ignored unless noted.
  • One row per record. Commas inside a value need the value in double quotes; spreadsheet apps do this for you.
  • Dates use YYYY-MM-DD, for example 2026-11-01.
  • Save as CSV UTF-8 so names in Arabic and other scripts come through correctly.
  • Import clients first. Other imports match rows to existing clients by company or name.

Clients

From Clients → Import. Up to 5,000 rows, 10 MB.

ColumnRequiredNotes
client_nameYesThe contact’s name. full_name or name also work.
companyNoCompany name. company_name also works.
emailNoA valid email address.
phone, mobileNoAny format, up to 60 characters.
addressNoAccepted but not stored.
start_dateNoYYYY-MM-DD.
statusNoactive (default) or inactive.
client_name,company,email,phone,mobile,address,start_date,status
Leila Haddad,Cedar & Sage Bakery,[email protected],+961 1 555 0100,,,2025-10-14,active

Domains

From Websites & Hosting → Import.

ColumnRequiredNotes
domain_nameYesStored in lower case. A domain that already exists is a duplicate.
client_nameYesMust match an existing client’s company or name.
registrarNoAdded to Providers if it isn’t there yet.
renewal_dateYesThe next renewal date.
statusNoDefaults to active.
domain_name,client_name,registrar,renewal_date,status
cedar-sage-bakery.example,Cedar & Sage Bakery,Registrar One,2027-03-01,active

Providers

From Providers → Import.

ColumnRequiredNotes
provider_nameYesA provider that already exists is a duplicate.
categoryYesFor example Hosting, Emails, Storage or SaaS.
account_email_or_usernameNoThe login you use with the provider. Never put passwords in the file.
website_urlNo
statusNoactive (default) or inactive.
provider_name,category,account_email_or_username,website_url,status
Harbor Hosting,Hosting,[email protected],https://harbor-hosting.example,active

Infrastructure

From Infrastructure → Import. Plan server limits apply.

ColumnRequiredNotes
server_nameYesA server that already exists is a duplicate.
client_nameNoLeave blank for a shared server.
provider_nameNo
regionNoDefaults to United States.
operating_system_versionNoDefaults to Rocky Linux 10.
ip_addressNo
monthly_costNoA number, in USD.
due_dateNoThe renewal date.
statusNoDefaults to operational.
server_name,client_name,provider_name,region,operating_system_version,ip_address,monthly_cost,due_date,status
nw-web-03,,Harbor Hosting,Lebanon,Ubuntu 24.04 LTS,,40.00,2027-01-15,operational

Outsources

From any directory under Outsources → Import. One file can mix all types. Up to 5,000 rows, 5 MB; if any row is invalid nothing is imported.

ColumnRequiredNotes
typeYesinfluencer, model, photographer, videographer or freelancer.
nameYes
country_codeYesTwo letters, for example LB, AE, SA.
cityYes
payment_typeYeshourly, monthly or per_project.
approximate_session_pricePhotographers, videographers, freelancersA number. Leave blank for influencers and models if you like.
genderInfluencers, modelsmale or female.
business_specialitiesInfluencers, modelsTheir specialty, for example Lifestyle or Fashion Model. Optional for freelancers (industry).
social_linksInfluencers, modelsAt least one, as platform|url;platform|url.
specialitiesPhotographers, videographersFor example food, product, wedding.
specializationFreelancersFor example web_developer, copywriter, video_editor.
phone, email, portfolio_url, notesNo
type,name,phone,email,country_code,city,social_links,portfolio_url,approximate_session_price,payment_type,gender,business_specialities,specialities,specialization,notes
influencer,Noor Hamdan,+961 3 555 100,[email protected],LB,Beirut,instagram|instagram.com/noor.example,,450,per_project,female,Food Blogger,,,Bakery and café content
freelancer,Ali Moussa,,[email protected],LB,Saida,,https://ali.example,35,hourly,,technology,,web_developer,

Workspace briefs

From Manage Workspaces → Import. The sample has a column for every brief field: the workspace name, client, timezone and status, then brand foundation (history, vision, mission, values, personality, audiences, tone of voice, AI writing instructions), one URL and posts-per-month pair per platform (platform_instagram_url, platform_instagram_frequency and so on), and the content strategy (strategy_content_pillars, strategy_objectives, KPIs, dos and don’ts). Workspace Name and the client are required; a client that can’t be matched is resolved on screen. Download the sample from the import window; the import screen shows an example for every field.

Posts

From Calendar → Import. Up to 5 MB. Two templates:

  • Download sample CSV: the minimum columns workspace_name, title, caption, content_type, platform, language, timezone and scheduled_at.
  • Download full example CSV: adds id, content, workflow_status, publishing_status, priority, brief, content_pillar and campaign.

Leave id blank to create a post, or keep the ID from an export to update that post. scheduled_at is a date and time with offset, for example 2026-11-07T09:00:00+02:00. Invalid rows are skipped and listed; the import screen lists every accepted value.

workspace_name,title,caption,content_type,platform,language,timezone,scheduled_at
Cedar & Sage Bakery,Sourdough Saturday teaser,Fresh loaves from 7am this Saturday.,static_image,instagram,en,Asia/Beirut,2026-11-07T09:00:00+02:00

Project tasks

From a project page → Import CSV. Rows with errors are skipped and listed; valid rows still import.

ColumnRequiredNotes
titleYes
descriptionNo
statusNoAn active status of the project, such as To do. Blank uses the first status.
priorityNourgent, high, medium (default) or low.
start_date, due_dateNoYYYY-MM-DD.
assignee_emailsNoEmails of active project members, separated by semicolons.
tagsNoSeparated by semicolons.
workspace_nameNoMust match one workspace exactly.
title,description,status,priority,start_date,due_date,assignee_emails,tags,workspace_name
Write captions for the bake sale,Three captions for Instagram and Facebook.,In progress,medium,2026-10-13,2026-10-17,[email protected],captions; autumn,Cedar & Sage Bakery