Migrating to Stratam

If you've been using ChatGPT, Notion, Zapier, or just a folder of notes, you don't have to start from scratch. Here's how to bring your context over.

From ChatGPT

ChatGPT doesn't natively expose your conversation history as a structured export. Two options:

  1. Manual seeding (best for the truly important context): for the 10-20 facts/preferences/decisions that matter, just paste them into the chat as "remember that …". Stratam fires remember and tags + saves to the vault. Easier than it sounds — you'll probably bang it out in 15 minutes.
  1. Bulk import (if you used the ChatGPT data export): the export gives you a conversations.json. Write a small script that walks the JSON and POSTs each meaningful turn to /api/vault/import. The endpoint accepts a JSON array of {content, tags?, source_channel?} objects, caps at 2k entries per request.
import json, requests

with open('conversations.json') as f:
    convs = json.load(f)

entries = []
for c in convs:
    # ChatGPT exports a mapping of message-ids → message objects
    msgs = c.get('mapping', {}).values()
    for m in msgs:
        msg = (m.get('message') or {})
        content = (((msg.get('content') or {}).get('parts')
                      or [''])[0])
        if content and len(content) > 30:
            entries.append({
                'content': content[:8000],
                'tags': ['chatgpt-import'],
                'source_channel': 'import',
            })

# Cap at 2000 per batch
for i in range(0, len(entries), 2000):
    requests.post('https://stratam.us/api/vault/import',
                   cookies={'stratam_session': 'YOUR_SESSION'},
                   json={'payload': entries[i:i+2000]})

The endpoint silently drops empty entries + caps content at 16,000 chars. Tag everything chatgpt-import so you can find/delete in bulk later if needed.

From Notion

Notion's API exposes your databases + pages — same import pattern.

  1. Create a Notion integration: notion.so/my-integrations
  2. Give it read access to the database(s) you want to import from
  3. Pull pages via the API and POST to /api/vault/import
from notion_client import Client
import requests

notion = Client(auth='secret_…')
results = notion.databases.query(database_id='abc…')['results']

entries = [{
    'content': (page['properties']['Title']['title'][0]['plain_text']
                + '\n\n' + extract_page_body(page)),
    'tags': ['notion-import', page['properties'].get(
        'Category', {}).get('select', {}).get('name', '').lower()],
    'source_channel': 'import',
} for page in results]

requests.post('https://stratam.us/api/vault/import',
               cookies={'stratam_session': 'YOUR_SESSION'},
               json={'payload': entries})

Or — wait for the first-class Notion integration shipping in Phase 25.1+. The infrastructure is in place at /integrations; the OAuth flow lands in a follow-up.

From Zapier

Two patterns to migrate Zapier workflows:

1. Zapier → Stratam monitor: if you have a Zap that runs on a schedule, recreate it as a monitor. Faster, cheaper, fewer moving parts.

Example — Zapier "every Monday morning, summarize last week's Stripe activity":

Label: Weekly Stripe summary
Schedule: cron · 0 9 * * 1
Notify: gmail
Instruction:
  Pull last 7 days of Stripe activity (new subscriptions,
  cancellations, refunds) via the Stripe API. Use the API key
  saved in vault under 'stripe_api_key'. Summarize: net MRR
  change, notable cancellations, any payment failures. Save
  the summary via remember so the next run can compare.

2. Zapier → Stratam outbound webhook: if a Zap was triggering when something happened in your business, register a Stratam outbound webhook with the same target. Now your business events route through Stratam's monitors/notifications/vault, with the webhook firing afterward.

/webhooks → New outbound → paste the Zap webhook URL → pick events.

From a folder of markdown notes

Easiest case: the markdown files just become vault entries.

# From your notes dir
for f in **/*.md; do
  jq -Rs '{content: ., tags: ["notes-import"]}' < "$f"
done | jq -s '{payload: .}' | curl -X POST \
  -H "Cookie: stratam_session=$TOK" \
  -H 'Content-Type: application/json' \
  -d @- https://stratam.us/api/vault/import

Or use the Import… button on the vault page — paste a JSON array of {content, tags?} objects directly.

What to skip

You don't need to migrate:

  • Chat history per se — Stratam learns from the vault, not transcripts. Pulling the summaries of past chats is way more useful than pulling the chats themselves.
  • Scratch/exploratory notes — these were context for past-you, not future-you. Skip.
  • Anything with secrets — never paste API keys, passwords, or private keys into the vault. Use environment variables or a proper secret store.

After the import

  1. Browse /vault → confirm the entries landed with the right tags
  2. Use the Tag manager sidebar to merge/rename tags that came in noisy from the import
  3. Optionally bulk-delete any entries that turned out to be junk — multi-select rows + click Delete

Start chatting. Stratam will reach into the imported vault on its own as questions come up — you don't have to point at specific entries.