Section 7: Run it day to day

Contacts, tags and custom fields

9 min readLesson 32 of 35Open in HyperDM

Contacts holds everyone who has messaged you, plus anyone you added by hand. Tags and custom fields are how you sort them, and the same fields fill variables like {{first_name}} in your DMs.

Screenshots show the real HyperDM app with a demo workspace. Names and numbers are examples.

Read the list

Open Daily → Contacts. Each row shows a name and, under it, the channel and handle in words, like Instagram · @maya.makes. The Messaging column shows their permission:

ShowsMeans
SubscribedHyperDM may message them, within Instagram's rules.
UnsubscribedThey opted out, for example by sending STOP. Nothing is sent to them.
No permissionNothing is recorded, so nothing is sent until they message you.
Contacts with each person's channel, handle, tags and Messaging permission
Contacts with each person's channel, handle, tags and Messaging permission

Add contact lets you type an Instagram username, but that makes a record, not a conversation. It's marked Unverified, and HyperDM can't message it until that person messages you first.

Open a contact's profile

Click a row, or Tab to a name and press Enter, to open the drawer:

SectionWhat it holds
IdentityChannel, handle, how they were added, and whether Instagram verified them
Messaging permissionTheir permission and where it came from, such as "They sent a stop keyword"
System fieldsFirst and last name, username, opt-in, the reply window, last interaction, follower count (read-only)
Custom fieldsYour own fields, edited inline
Pause automationsStops HyperDM replying to this person, Until I resume or for 30 minutes up to 1 day
ConversionsThe conversions your flows logged for them: the event, its value, the flow and when
SequencesEvery live sequence and where they are in it (Sequences)

Pause automations is the same state as Take over in the Inbox, so the two always agree.

Maya's drawer, her system fields, Pause automations and her tags
Maya's drawer, her system fields, Pause automations and her tags

Tags

Tags are labels like vip, guide-download or booked-call. On a row or in the drawer, type in the tag field and press Enter; a tag that doesn't exist yet is created and applied in one step. Flows and rules can add tags for you as people move through them.

Typing a tag on Maya's row, with booked-call suggested and Create
Typing a tag on Maya's row, with booked-call suggested and Create

To tag many people at once, tick their rows and choose Apply tag in the bar that appears. With every visible row ticked, Select all N contacts matching this filter reaches the whole filtered audience rather than this page. Running it again changes nobody twice.

Apply a tag in bulk, adding booked-call to the two ticked contacts
Apply a tag in bulk, adding booked-call to the two ticked contacts

More → Manage tags lists every tag with how many contacts carry it and where it's used, and lets you Rename, Merge or Delete one. Flows and rules store a tag by its name, so update them after a rename. Deleting a tag a live flow uses asks you a second time.

Manage tags with each tag's count, where it's used, Rename, Merge and Delete
Manage tags with each tag's count, where it's used, Rename, Merge and Delete

Folders keep a long list easy to scan. A folder only organizes, so it never changes who a filter, a segment or an automation reaches.

  1. In Manage tags, tick the tags you want to move.
  2. Pick a folder in the bar that appears, or New folder… and type its name, or No folder to take them out.
  3. Click Move.
    Manage tags with folders, two tags ticked and Customers chosen, with Move
    Manage tags with folders, two tags ticked and Customers chosen, with Move

Each folder's heading has Rename folder and Delete folder. Deleting one keeps its tags, unfiled, and every contact keeps every tag. A folder appears once a tag is in it, and Search tags finds a tag in any folder.

Custom fields, and using them in DMs

Custom fields hold what your business needs to know: shoe size, the package someone bought, a renewal date.

  1. Click More in the toolbar, then Fields.
  2. Enter a Label (Shoe size) and a key in snakecase (`shoesize`).
  3. Choose a type: Text, Number, Yes / No, Date or Date & time.
  4. Click Add field.
    Custom fields with a new Shoe size field, its key and the Number type
    Custom fields with a new Shoe size field, its key and the Number type

The key and type are fixed once the field exists. Fields are archived rather than deleted, so old values survive.

Before you archive a field or rename a tag, check what uses it. Both managers say Used in N places for each one, and Show where lists them: a flow step, a rule, a sequence, a segment, a draft or scheduled broadcast. Live marks something running now. If a source can't be read, it says Couldn't check rather than Not used.

Custom fields, with Shoe size's list of where it's used open
Custom fields, with Shoe size's list of where it's used open

A Number field can also change on its own. In a flow, add an Action step and pick Update number field, then the field, then how to change it: Replace with, Add, Take away, Multiply by, Divide by or Work it out with a calculation. If the new value can't be stored, nothing changes and the flow carries on.

The Update number field step, with a number field and a calculation
The Update number field step, with a number field and a calculation

When you write an automation's DM, the variable picker offers First name, Last name, Username and every custom field, written as {{first_name}} or {{shoe_size}}. A person with no value gets a blank where the tag was, so write sentences that still read well without it. A misspelt tag such as {{frist_name}} stops the automation publishing until you fix it. Captured emails land in a field too; see Email capture.

Filter, then save a segment

Click Filters to narrow the list, and everything you pick combines. Choosing more than one tag means "has all selected". A field condition takes a field, an operator and a value, such as Shoe size = 9; text fields offer is, is not and contains, number fields =, ≠, > and <, and every type has is set and is empty. You can also filter on Opted in, the Messaging window (Any window, Reply window open, Window closed) and Lead score.

Filters open with the vip tag and Shoe size = 9
Filters open with the vip tag and Shoe size = 9

Click Save as segment, type a name and press Enter. A segment keeps the tags, one field condition, Opted in and the messaging window, or everything you build with Combine conditions. The lead-score band and the search box only narrow what's on screen. Saved segments show as chips above the list and as audiences in Broadcasts.

Save as segment with the name VIP size 9 typed in
Save as segment with the name VIP size 9 typed in

Heads up. Filtering works on every plan. Saving a filter as a segment needs Growth or above.

Combine conditions for "this or that"

The plain filter means "all of these". Combine conditions builds one filter out of groups, so you can say "tagged vip or shoe size over 9, and subscribed on Instagram".

  1. Click Filters, then Combine conditions. Whatever the filter already held moves into it.
  2. Next to Show people who fit, pick every group or at least one group.
  3. In Group 1, after fits, pick every condition or at least one condition.
  4. In the condition, open Pick what to check and choose Tags they carry, one of Your fields, or one of the Contact details. Then pick the comparison and the value.
  5. Click Add a condition for another in the same group, or Add a group for a new group.
    Combine conditions with tagged vip or shoe size over 9, and subscribed on Instagram
    Combine conditions with tagged vip or shoe size over 9, and subscribed on Instagram

The list updates as you go, and the filter shows as a Combined: chip. Save as segment saves it, and Clear conditions puts the plain filter back. You can have up to 5 groups, 10 conditions in a group and 25 in all. A condition you haven't finished isn't used yet, and says so.

What you checkComparisons this adds
Text fieldsdoesn't contain, starts with
Number fields≥, ≤, is between (both ends included)
Date fieldsis between, in the last N days, more than N days ago
Tagshas all of, has any of, has none of
Is between, in the last 30 days and has none of, in one group
Is between, in the last 30 days and has none of, in one group

The contact details you can check are Permission, Channel, Reply window, Opted in on, Sequence, Segment, How they were added, Added on, Last interaction, Automations paused, Follows you, Follower count and Username. Permission is the same permission the send check reads.

For your fields, is not and doesn't contain never include a contact who has no value there, so use is empty to find them. has none of does include contacts with no tags at all. Days are counted in your workspace's timezone with today as day 1, so "in the last 7 days" and "more than 7 days ago" never overlap. A segment built this way works anywhere a segment does in a DM broadcast.

Merge duplicate contacts

When the same person is in your contacts twice, usually because you added them by hand before they messaged you, merge the two records. Merging needs an owner or admin.

  1. Open either contact, and click Merge with another contact… at the bottom of the drawer.
    Merge with another contact at the bottom of Maya's drawer
    Merge with another contact at the bottom of Maya's drawer
  2. Type part of the other record's name, @username or the ID from a DM, and pick it from the list. A matching name isn't proof, so only merge records that are the same person.
    Finding the duplicate, with the record typed in by hand picked from the list
    Finding the duplicate, with the record typed in by hand picked from the list
  3. Click Review merge. Check which record Stays, and for every value that differs, pick the one to keep under Choose what to keep.
    Review merge with which record stays, what to keep, what moves and what happens to messaging
    Review merge with which record stays, what to keep, what moves and what happens to messaging
  4. Click Continue, tick I've checked that these records are the same person, and click Merge contacts.
    The last check, with the same-person box ticked and Merge contacts
    The last check, with the same-person box ticked and Merge contacts

Tags, field values and sequence memberships move to the record that stays. Consent can only get stricter: an opt-out on either record carries over, and an opt-in on the merged record doesn't. Nothing is deleted. The merged record is kept, hidden, with its channel ID and message history, and the drawer's Merged records shows what moved. A merge can't be undone automatically, and it never sends anything.

Some merges are blocked. Two records that have both been in touch through a channel stay separate, because each channel keeps its own consent and window on its own record. A contact with an automation in progress, such as a flow waiting for a reply, can be merged once it has finished. When one record came from a channel and the other was added by hand, the channel's record always stays, because it's the one that channel delivers messages to.

FAQ

Can I merge two contacts?

Yes, if you're an owner or admin and the two haven't both been in touch through a channel. Use Merge with another contact in the drawer. Consent can only get stricter, and a merge can't be undone automatically.

Can I message a contact I added by hand?

Not until they message you. Instagram only lets a business message people who wrote first, so a hand-added contact stays Unverified with no permission until then.

What happens if a contact has no first name?

A {{first_name}} tag sends as a blank for them, so write the sentence so it reads well without the name.

Do I need a paid plan for segments?

Filtering contacts works on every plan. Saving a filter as a segment needs Growth or above.

Can I delete a custom field?

Fields are archived, not deleted, so historical values survive. The field manager shows where a field is used before you archive it.

How do I stop automations for one contact?

Open their drawer and use Pause automations, until you resume or for a set time. It's the same state as Take over in the Inbox.

Try it on your own account.

Start freeSTART WITH 14 DAYS OF PRO · THEN 50 CONVERSATIONS A MONTH FREE · NO CARD