Companies
A company record in Swan is keyed by domain. Each company is unique per [organization, domain] — if you (or the agent, or a trigger) add a company whose domain already exists, Swan updates the existing record instead of creating a second one. Renaming a company or re-uploading the same domain in a CSV never produces a duplicate. Where: your company list lives at agent.getswan.com/companies, as a kanban board grouped by funnel stage or a table (toggle in the view switcher;?view=table or ?view=board). The Upload button there opens a CSV import wizard (up to 1,000 companies per file); asking the agent in chat to “find new accounts” matching your ICP does the same thing without a file.
Each company tracks:
- Source — how it entered Swan: a CSV upload, the agent (e.g., found while prospecting), or a trigger (e.g., a webhook or business-event source added it). Asking the agent in chat to filter by source or by when records were added or updated works — “companies imported from CSV in the last 48 hours” — even though the Accounts page’s own filter bar doesn’t expose a source or date-added filter directly.
- Owner — an email address, if one has been assigned. Editable inline from the company’s page.
- Tags — free-form labels; see Tags, lists, and exclusions.
- ICP segment and fit reason — which segment the company matches (if any), plus a short explanation the agent writes when it classifies the company. See ICP, personas, and the funnel.
- Funnel stage — where the company sits in your pipeline, with a history of transitions (who or what moved it, and when). Change it yourself from the company’s page (
https://agent.getswan.com/companies/{companyId}) or by dragging its card between columns on the Accounts board view.
Contacts
A contact belongs to a company and carries the usual fields — name, title, work email, phone, LinkedIn URL, location — plus a source that’s more granular than a company’s: CSV upload, the agent, a CRM, a website visitor, or one of Swan’s data providers. Contacts can also have an owner, a persona, and a persona fit reason (the agent’s explanation of why this person matches a given persona). Where: Swan doesn’t have a standalone contacts list — you see a company’s contacts on that company’s own page (https://agent.getswan.com/companies/{companyId}), in the Contacts card alongside their outreach status.
When a contact is added or enriched, Swan checks for an existing match in this priority order before creating a new record:
- A matching CRM ID
- A matching LinkedIn URL
- A matching work email