Skip to content

Contacts

A contact is one person, as far as Feddy can tell. Every conversation belongs to exactly one contact.

The first time the SDK runs it generates an anonymous id and stores it, in the Keychain on iOS and in localStorage on the web. That id is the contact. It survives app reinstalls on iOS. On the web it lasts until the visitor clears site data, which is why the widget can ask for an email after the first message.

Anonymous contacts show as Anonymous in the inbox, with the device details the SDK collected.

Call identify with your own user id to turn the anonymous contact into a known one. The inbox then shows the user’s name or email, and their conversations from every device merge into one history. How to call it, and what happens on merge, is in Identify users.

Two kinds of facts appear in the Details panel next to a conversation:

  • Collected by the SDK: device, OS, app version, language, first and last seen. You do not send these.
  • From identify: the attributes you chose to send, such as plan or membership status.

Settings → Data attributes lists every attribute key you have ever sent, with its inferred type. There you can give a key a readable label, show it as a column in the inbox, or make it filterable. New keys appear automatically the first time the SDK sends them.

A contact’s email comes from identify or from the user typing it into the widget. It is used for one thing: emailing them your replies, and only when your project has a verified sending domain. See Team.

Contacts lists everyone who has written in, with their conversations and last-seen time. Filter to anonymous contacts only to see how many users you could identify.