Import
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, triggers0002_seed_top10.sql: the 10 DACH targets + 22 contacts0003_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.