Contact history — who in your workspace already contacted a person

Updated Markdown

Your workspace keeps one contact history: every contact attempt made from ListPlus is noted once, for the whole workspace, whatever list it came from. It answers the question "has a colleague or I already contacted this person?" — the Outreach panel uses it to skip people, and contact history columns show it in any list.

What counts as a contact attempt#

  • A LinkedIn invitation you confirm with Sent — next contact in the Outreach panel (see "LinkedIn outreach — send connection invitations from a list").
  • An e-mail draft that an E-mail draft pipeline put into a mailbox. A draft counts as soon as it exists, even if nobody ever sends it.
  • A contact added to a lemlist or Instantly campaign by a pipeline, noted as an e-mail.

Only a delivery that went through counts: entries that failed, are held by the data check or are still waiting are not contact attempts. A second draft that an E-mail draft pipeline skips because the address already has one is not counted again. Deliveries to a CRM, to Slack, to Google Sheets, to your own webhook or to other apps are not contact attempts — they pass a record on, they don't reach the person.

For every attempt the history keeps the channel (LinkedIn invitation, e-mail draft or e-mail), when it happened, which member did it, the list and record it came from, the pipeline, and the person's name at that time. It does not keep the note or the e-mail text — those stay with the row (the Record panel's Contact history section shows what was sent from that row in the Outreach panel).

How ListPlus recognises the same person#

A person is recognised by their LinkedIn profile address (linkedin.com/in/…) and by their e-mail address. When the same person is in another list with the same profile or the same address, the history finds them there too. Names and companies are never used to match people.

Where you see it#

  • Outreach panel: people someone in the workspace already invited on LinkedIn are skipped (you can include them anyway), and the floating window says when, how, by whom ("you" or "a colleague") and in which list a person was contacted before.
  • Contact history columns in any contact list (below).

ListPlus doesn't see replies or accepted invitations; the history only holds what was sent from ListPlus.

Add a contact history column#

  1. In a list, click + Column next to the search field (or ⋯ → Add Column...).
  2. In New column, pick Contact history (Kontaktverlauf) and click Choose what it shows.
  3. Choose what the column shows for each person:
    • Last contact (Letzter Kontakt) — the date,
    • Contacted via (Kontaktiert über) — the channels, e.g. LinkedIn, E-mail draft,
    • Contacted by (Kontaktiert von) — the team member who made the last contact,
    • Number of contacts (Anzahl Kontakte) — how often.
  4. For Last contact and Number of contacts, pick a Channel: Any channel, LinkedIn or E-mail (incl. drafts).
  5. Keep or change the Column name and click Create Column.

The kind is offered in contact lists that have a LinkedIn or an e-mail column. The column fills by itself, costs no credits and is read-only — you can't type into it. Like a formula or score column its values are stored in the list, so you can filter and sort by them, export them and use them in triggers and in a pipeline's data check.

When it updates:

  • Right after a send from this list — a LinkedIn invitation from the Outreach panel or a pipeline delivery of these rows — the rows concerned update within a few seconds.
  • A colleague's contact from another list shows when you open this list the next time.
  • A pipeline's data check always reads the history as it is at that moment, also contacts made from other lists.

Recipe: hand a contact to a pipeline after the LinkedIn invitation#

  1. Add a contact history column: Last contact, channel LinkedIn (its default name is "LinkedIn invited").
  2. Open Tools in the list header → Automate & connect → Triggers and create a trigger: When "a record is new or was changed" ("Conditions met"), condition: that column is filled.
  3. Under Then, choose Hand over to pipeline and pick the pipeline — for example an E-mail draft pipeline for the follow-up mail.

As soon as you confirm an invitation, the column gets its date and the trigger hands the record over; a record goes to the same pipeline only once. Pick the channel LinkedIn, not Any channel: with any channel, people who only got an e-mail (for example from that pipeline itself or another one) would match too. Setting up triggers is for the workspace's owner and admins (see "Triggers — hand records on automatically").

Who sees it, how long it's kept#

  • Every member of the workspace sees every member's contact attempts — that is the point of it.
  • An attempt is kept for 365 days, and the history keeps the last 10 attempts per person.
  • The history is stored with your workspace, in Frankfurt like your lists, and deleted with the workspace. If a member leaves or deletes their account, their attempts stay in the history.
  • A single entry can't be removed in the app yet. To remove one — for example a draft that was never sent, or everything about a person who asked to be erased — email support@listplus.ai.

For advanced users#

  • The LinkedIn identity is the profile name in linkedin.com/in/…, case ignored; the e-mail identity is the address in lower case. A row with both is found by either. A person under a different profile address (for example the long id form some exports use) is a different identity.
  • Number of contacts counts the attempts still kept (at most 10, within 365 days) and shows 0 for someone never contacted. To filter people never contacted, use Last contact "is empty".
  • "E-mail (incl. drafts)" covers both e-mail drafts and campaign adds.
  • For "days since the last contact", add a formula on the Last contact date — a stored number of days would be out of date the next day.
  • Contacted by shows the name of the member who made the last contact; it can be empty for a member whose account no longer exists.

Related topics: linkedin-outreach · columns-formulas-ai-columns · list-triggers · pipelines-overview · where-is-my-data.

FAQ#

What is the contact history in ListPlus?#

It is one log for your whole workspace of every contact attempt made from ListPlus — LinkedIn invitations confirmed in the Outreach panel and e-mails from E-mail draft, lemlist and Instantly pipelines — whatever list they came from. It answers "has a colleague or I already contacted this person?": the Outreach panel skips people already invited on LinkedIn, and contact history columns show it in any list.

What counts as a contact attempt in the contact history?#

A LinkedIn invitation you confirm as sent in the Outreach panel, an e-mail draft an E-mail draft pipeline created, and a contact a pipeline added to a lemlist or Instantly campaign — only once the delivery went through. Deliveries to a CRM, Slack, Google Sheets, a webhook or other apps don't count, because they don't reach the person. Replies and accepted invitations are not tracked.

Does an e-mail draft count as contacted even if I never send it?#

Yes. A draft counts as soon as the pipeline has put it into the mailbox, because ListPlus can't see whether it was sent later. A second draft that the same pipeline skips because the address already has one is not counted again.

How does ListPlus know it's the same person in another list?#

By the LinkedIn profile address (linkedin.com/in/…) and the e-mail address: a person with the same profile or the same address in another list is the same person. Names and companies are never used to match.

How do I add a column that shows when someone was last contacted?#

Click + Column in the list header, pick Contact history → Choose what it shows, choose Last contact, Contacted via, Contacted by or Number of contacts (for Last contact and Number of contacts also a Channel: Any channel, LinkedIn or E-mail (incl. drafts)), and click Create Column. The kind is offered in contact lists with a LinkedIn or e-mail column.

When does a contact history column update?#

Right after a send from this list, the rows concerned update within a few seconds. A colleague's contact from another list shows when you open this list the next time. A pipeline's data check always reads the history as it is at that moment.

Do contact history columns cost credits, and can I edit them?#

They cost no credits and fill by themselves. They are read-only, but their values are stored in the list, so you can filter, sort and export them and use them in triggers.

Can a trigger hand a contact to a pipeline after I invited them on LinkedIn?#

Yes: add a contact history column Last contact with channel LinkedIn, then a trigger "a record is new or was changed" with that column is filled and the action Hand over to pipeline. Pick LinkedIn, not Any channel — otherwise people who only got an e-mail match too. A record goes to the same pipeline only once.

Who can see the contact history and how long is it kept?#

Every member of the workspace sees every member's attempts. Each attempt is kept for 365 days, with the last 10 per person, stored with your workspace in Frankfurt and deleted with the workspace; the person's name at the time is kept with the attempt.

Can I delete an entry from the contact history?#

Not in the app yet. To remove an entry — for example a draft that was never sent — or everything about a person who asked to be erased, email support@listplus.ai.