Step 1 — request the export from OpenAI
ChatGPT → Settings → Data Controls → Export data. OpenAI emails you a download link within 24 hours. The archive is a zip containing conversations.json + a folder of media. Total size is typically 10-100MB for a normal-usage account.
Step 2 — upload to /import/openai
In your GenZAgents account: /import/openai → Choose file. Select the zip from OpenAI (don't extract it — we accept the zip directly). Choose the target agent + the default project tag. Click Import. The upload processes async; you get an email when done.
What gets captured
Per conversation: the model used per turn, the conversation's system prompt (if any), the turns themselves (digested by default; full-content opt-in per project), the timestamp, the conversation title. Each conversation becomes one receipt; the receipt body summarises the conversation; full turns are stored as receipt extensions.
Per-user attribution
For ChatGPT Plus / Team archives: per-user attribution is included in the export. We map each user's conversations to the right human_id on import (you specify the mapping during the import flow). For Team Plan archives: even better — the per-user data is structured.
Backfill volume + cost
No per-receipt fee for backfill; included in the Pro tier and above. Free tier: limited to 100 backfill receipts. Enterprise tier: unlimited. Processing time: ~30 seconds per 100 conversations.
After the import
Conversations are searchable via the dashboard. org_context_lookup queries them like any other receipts. The audit trail is "backfilled" — receipts are tagged with backfill_source=openai-export. Useful for the question "what AI work did this team do in the 6 months before we deployed GenZAgents?".