Bulk-add companies, contacts and templates by writing a SQL migration file and applying it via wrangler. The cockpit ships with three already:

  • 0001_initial_schema.sql : tables, indexes, triggers
  • 0002_seed_top10.sql : the 10 DACH targets + 22 contacts
  • 0003_moco_link.sql : MOCO ID columns

Add new companies

Create cockpit/migrations/000N_your_label.sql:

INSERT INTO companies
  (name, hq_country, hq_city, industry, revenue_chf_m, employee_count,
   founded_year, listed_exchange, listed_ticker, tier, status,
   trigger_text, trigger_verified, source_notes, website_url, brand_state_notes)
VALUES
  ('NewCorp AG', 'CH', 'Zürich', 'Industry', 500, 1500, 1990, 'SIX', 'NEWC',
   1, 'cold',
   'Why-now hook in one sentence.', 1,
   'Where the trigger came from.',
   'https://www.newcorp.com',
   '1-2 sentences on current brand quality.');

Add contacts

Use a sub-select on company name so you do not need to know the auto-incremented ID:

INSERT INTO contacts (company_id, first_name, last_name, role, buying_role,
                       email, linkedin_url, conversation_hook, verified)
SELECT id, 'Vorname', 'Nachname', 'Title', 'champion',
       'vorname.nachname@newcorp.com',
       'https://www.linkedin.com/in/...',
       'Why this person, in one line.',
       1
FROM companies WHERE name = 'NewCorp AG';

Apply the migration

cd cockpit
CLOUDFLARE_ACCOUNT_ID="c463322d2ccc6356a210fc7a2c8f2d72" \
CLOUDFLARE_API_TOKEN="$CLOUDFLARE_API_TOKEN_SGT" \
npx wrangler d1 execute sgt-acquisition-db --remote --file=./migrations/000N_your_label.sql

From a markdown research dossier

Paste the dossier content into Claude with a prompt like:

Translate the following research dossier into a SQL migration file
for the SGT acquisition cockpit. Use the schema in 0001_initial_schema.sql.
Set tier=1, status='cold' unless an explicit trigger event puts it at
'researching'. Use sub-selects to link contacts to companies by name.

[paste dossier]

CSV import

Not implemented yet. The wrangler-SQL workflow handles up to a few hundred rows fine; if you need real CSV upload, raise the request.