Import your existing content
Migrate the campaigns and media you already have by letting your own agent run the Postward import loop against the source.
What You Will Finish With
Your existing content exists as DRAFT campaigns with media-library assets and source revisions awaiting review — nothing published.
- 1
Give the agent access, not Postward
Postward never connects to your old tool. You grant your own agent read access to where the content lives today — a repository, spreadsheet, export archive, live site or old CMS — and the agent reads it with credentials you already control.
- 2
Run the import brief
Open Studio and use the import brief shown under Next steps while the workspace has no campaigns. It contains the full recipe; you only point it at the source.
- 3
Inventory before creating
The brief asks the agent to list every item it found, in import order, and to wait for your confirmation. Adjust the list before anything is created.
- 4
Create the campaign, then upload media
For each item the agent calls create_campaign in DRAFT, then media_create_upload. The returned presigned PUT sends media bytes straight to your own storage — one asset per call, and every asset lands in your media library.
- 5
Reference the assets
create_campaign_source_revision writes the canonical Markdown referencing asset://<assetId>, with heroAssetId when the item has a hero image. Campaigns reference the library; they never own private copies.
- 6
Batch the import
Large imports run in batches of about five with a progress report after each batch, so an interrupted import resumes cleanly instead of duplicating campaigns.
- 7
Review; never auto-publish
The import stops at review on purpose. Every imported campaign waits in Studio, and importing spends no publication quota — only publishing does.