Skip to content

A contact holds the person’s name and profile photo, the platform and profile ID that identify them, the connected page their interaction arrived on, the tags attached to them, and the time they were last active. Tags are the only field you can change. Contacts are created automatically from an inbound comment, so nothing on the record is typed in by hand and there is no way to add one yourself.

FieldTypeWhere the value comes fromEditable
NametextThe username on the interaction that created the contact, refreshed on every later interactionNo
Profile IDtextThe identifier Facebook or Instagram uses for that personNo
Platformfacebook or instagramThe platform the interaction arrived fromNo
Profile photoimageFetched from the platform after the contact is created, then stored by AFPNo
Pagepage referenceThe page the interaction arrived onNo
Tagslist of tag referencesThe contact’s tag picker, or add_tag and remove_tag nodes in a campaignYes
Last activetimestampSet when the contact is created, and updated on every later interactionNo
CommentsnumberCounted from the comments linked to the contact each time the record is readNo
Genderfixed valueSet to unknown when the contact is createdNo
  • Type: text
  • Editable: no

The username AFP receives with the interaction. Every later interaction from the same person overwrites it, so someone who renames their profile appears under the new name after their next comment.

  • Type: text
  • Editable: no

The platform’s own identifier for that person. It is half of the contact’s identity — the platform is the other half — and it is what a campaign’s tag nodes use to find the record.

  • Type: facebook or instagram
  • Editable: no

Which platform the interaction came from. It is part of the contact’s identity rather than a setting, and it is one of the filters on the contact list.

  • Type: image
  • Editable: no

Fetched from Facebook or Instagram in the background once the contact exists, then stored by AFP so the contact list does not depend on a platform URL staying valid. A contact can appear before its picture does. When the fetch fails, the field stays empty and is attempted again the next time that person interacts with the page.

  • Type: page reference
  • Editable: no

The connected page the interaction arrived on, recorded when the contact is created and kept current as later interactions arrive. Contacts belong to the account that owns the page, and when your account sits under a master account, the contacts that master account owns appear alongside your own.

  • Type: list of tag references
  • Editable: yes

The tag picker on a contact replaces the whole set: it saves the tags left selected, so clearing a tag removes it. A tag your account cannot see is refused and the contact is left unchanged.

Campaigns write to the same field with different semantics. An add_tag node merges its tags into whatever the contact already carries, and a remove_tag node subtracts its tags; neither replaces the set. Both find the contact by profile ID and platform, so an execution for someone who has no contact record yet changes nothing and carries on to the next node. Node types covers both nodes, and Keyword matching rules covers the condition that decides whether they run at all.

  • Type: timestamp
  • Editable: no

Set to the moment the contact is created, and updated on every later interaction from that person. The contact list is ordered by it, newest first, and the date filter on that list measures against it — the list shows the last 30 days until you widen the range.

  • Type: number, derived
  • Editable: no

Counted from the comments linked to the contact each time the record is read, rather than stored on the record. It counts comments, so activity that arrived only as a direct message does not raise it.

  • Type: fixed value
  • Editable: no

Set to unknown when the contact is created, and left there.

One record exists per person, per platform, per owner. Three consequences follow:

  • Someone who comments on your Facebook page and also sends your Instagram account a message has two contact records, because the platform is part of the key.
  • Two accounts that both interact with the same person hold their own record for them. Sharing under a master account is what makes another account’s record visible.
  • A lookup by profile ID needs the platform as well. The identifier on its own does not point at one contact.
  • No email address, phone number, or free-text note. The fields listed above are the whole record.
  • No contact you create yourself. There is no new-contact action and no import; a record appears only after someone interacts with a connected page.
  • No record for someone who has only ever sent a direct message. A contact is created from an inbound comment.
  • No message history. The comment count is the only activity the record itself carries.
Filter on the contact listField it readsNotes
PlatformPlatformFacebook, Instagram, or all platforms
TagTagsOne tag at a time
Date rangeLast activeA number of days back, or all time; 30 days by default
SearchNameMatches part of the name, and does not search tags

The list is ordered by last active, newest first, and returns 20 contacts per page by default.