Loading...
Three tabs — Manual Entry, Upload CSV (with column detection), CRM Contacts. Optional auto-sync creates CRM contacts for any prospect not already there.
The Recipients panel on the create form (and the Recipients tab on a campaign's detail page) has three tabs.
Paste LinkedIn profile URLs or raw slugs, one per line or comma-separated. Examples that all work:
https://www.linkedin.com/in/wachas/
linkedin.com/in/sneha-jhaveri-095786247
pratham-jadhav-8b2583214A live counter below the box reads "N valid LinkedIn prospects detected". Invalid lines drop silently. Duplicate slugs are deduped.
Drag-drop a .csv, .tsv, or .txt file (max 5MB). LinkedIn URLs are auto-detected from any column — no template needed. Preview shows the first 50 slugs plus "and X more".
Header detection — when the first row of your file looks like column headers, wrrk reads them and pulls per-row enrichment alongside the LinkedIn URL. Recognized headers:
linkedin / linkedinurl / linkedin_url / profile / url → the LinkedIn URL columnname / full name / fullname → prospect nameemail / e-mail / email address → emailphone / mobile / tel → phonecompany / organization / org → companytitle / job title / role / position / headline → titleWhatever columns are present get captured. Headerless CSVs still work — the parser falls back to scanning every cell for a LinkedIn URL (no per-row enrichment in that case).
Pulls from your CRM and shows only contacts that have a LinkedIn URL on file. Filter by name or company; tick checkboxes to select. Slug-level dedup prevents the same person appearing twice even if two CRM rows point at them.
If you see "Loaded N contacts, none had LinkedIn URLs on file", your CRM contacts don't have a LinkedIn URL field populated. Open a contact in CRM, paste their LinkedIn URL into the profile, then come back. Or use Manual Entry / Upload CSV instead.
When you add recipients via Manual Entry or Upload CSV, a checkbox appears below the input: "Also create CRM contacts for these prospects" (default ON).
linkedin:<campaign-id> so the CRM can show a per-campaign breakdown of imports.Retro-fix for existing campaigns: open any campaign's Recipients tab. If any rows aren't in CRM yet, an amber banner appears: "N of M recipients are not in CRM" with a one-click Add N to CRM bulk action. Each row also gets a small + CRM button for per-prospect add. See State-aware Recipients tab for the full tour.
A LinkedIn "slug" is the bit after linkedin.com/in/ in a profile URL — e.g. wachas from linkedin.com/in/wachas/. wrrk accepts the full URL or just the slug — both work the same.
You can source slugs from:
/crm/discover — finds leads with LinkedIn URLs and adds them as CRM prospects. From there, copy the URL into Manual Entry, or pick them via the CRM Contacts tab once they're in your contacts.When you click Create Campaign (or Add from the Recipients tab), wrrk writes one recipient row per slug with state queued and your connection note pre-substituted with their name. The Send Queue is ready to walk on your next click. If the CRM-sync toggle was on, the new CRM contacts are created in the same flow.
Tags
Create your first LinkedIn campaign
Fill the create form: name, account, product description, objective, connection note, booking link. Use AI to draft fields, grounded in your org profile.
Launch a campaign and send invites
Launch flips status to running. The Send Queue is a scrollable list; pick a prospect, copy the note, open LinkedIn, paste, send, confirm via one of five buttons.
State-aware Recipients tab
Per-row state pill + attention badge + click-to-expand inline actions. Continue the workflow from any row — send invites and confirm accepts without leaving the campaign.