What every contact profile shows
The header carries the name, the handle, the platform badge and the lifecycle badge, with three metrics underneath:Messages exchanged
The total message count across every channel this person uses.
Tags applied
How many tags are currently on the contact.
Last interaction
When they last did something — the same timestamp the contacts list sorts on.
- Conversation summary — the Last inbound message they sent, or No messages from this contact yet.
- Profile — Contact ID, Email, Phone, Gender, Language, Timezone, Birthday, Opt-in through, Source, Subscribed. Empty rows are hidden, so a sparse contact shows a short list.
- Flow answers — the question, the answer and the date, for each answer captured by your flows.
- Activity timeline — what has happened to this contact over time.
- Channels — every identity this person has, with the Primary one marked. One profile, many channels — replies, history and CRM data are shared.
- Internal notes — private to your team; the contact never sees them.
Message the contact
The message button is channel-aware and never lies to you. If you have WhatsApp connected and this person has a phone number (or reached you on WhatsApp in the first place), you get Message on WhatsApp. Otherwise it offers their own platform — Telegram, Instagram and so on. If neither works, the button is disabled and tells you why: Connect a WhatsApp number to message this contact on WhatsApp, or Add a phone number to message this contact on WhatsApp.The button opens the conversation in your Inbox. It is not an external
wa.me link, so the reply is logged against the contact like any other message.
Pause the bot for one person
Pause bot reply hands this conversation to a human. While the dot reads Bot paused, quick automations, sequences and booking reminders all skip this contact — your team’s manual replies still go out normally. Resume bot reply puts them back. This is a per-contact switch and is separate from blocking or unsubscribing, which are set elsewhere. See Data and privacy.Tags, stage and custom fields
- Add tag edits tags inline. Type a new name and press enter to create it — see Tags and segments.
- Pipeline stage moves the contact along your CRM pipeline, the same axis you drag on the Pipeline view.
- Custom fields is a Field name / Value list with an Add field button.
Merge duplicates
If another contact in the workspace shares this person’s phone number or email address, they appear under Possible duplicates: These contacts share a phone or email with this person. Merge to combine their channels, history and tags into one profile. Two things are protected on merge: if either side had opted out, the surviving contact stays opted out; and if either side was a Client, the survivor stays a Client.Convert a lead to a client
Select Convert to client. DMLY asks you to confirm, creates the client’s finance record, writes a line to the timeline and can trigger an automation.A client needs at least a phone number or email so you can reach and invoice them. If the
contact has neither, DMLY asks you to add one before it will convert them.
The client half
The sidebar’s Lifecycle panel shows Converted on and Converted by — when this lead became a Client and who did it. Once the contact is a Client, four money tiles appear above the records tabs:The records tabs
Nine tabs sit below, opening on Invoices: Invoices · Orders · Payments · Statements · Subscriptions · Credits · Loyalty · Appointments · Classes Appointments holds one-to-one bookings; Classes holds group sessions. An empty tab reads No records yet.Each tab shows at most the 50 most recent rows. For a long-standing client this page is a
summary, not the full ledger — go to Finance or
Appointments for everything.
Client actions
Six actions sit above the tabs. Three jump you into the right screen with this client already selected:Book appointment
Opens the Appointments calendar for this client.
New invoice
Opens Finance on a new invoice for this client.
Create order
Opens Finance on a new order for this client.
1
Add credits
Enter a whole number of Credits and, if you want, an Expiry date (optional) and
a note. Use this for a package the client paid for offline, or a goodwill top-up.
2
Adjust loyalty
Enter points to grant, or a negative number to take points away — Use a positive number
to add points or a negative number to deduct them. A Reason is required, so the
ledger always says why.
3
Record payment
Log money you took outside DMLY — cash in the salon, a bank transfer. Enter the
Amount, Payment method and Payment date. Against invoice lets you settle
one of this client’s own unpaid invoices; leave it on No invoice for a payment that
isn’t tied to one.
You cannot spend credits from this page — Add credits only ever adds. Credits are
consumed when the client books an appointment against a package, or by the credits step in
an automation. The ledger is append-only: nothing on it is
edited or deleted, so a mistake is corrected by posting the opposite entry, not by undoing
the old one.
Billing details
The Client profile card is collapsed by default. Open it to set what invoices and statements need: Billing name, Billing email, Billing phone and address, Company name, Tax ID, Default currency, Payment terms, plus the client’s preferred name, referral source, primary staff member and emergency contact.Delete a contact
Deleting a contact is done from the contacts list, not this page: open the ⋯ menu on the contact’s row and choose Delete (it needs the contact-delete permission). It removes the person and everything hanging off them — their channels, their entire message history, their notes and their client record. There is no soft delete and no undo.Contacts overview
How contacts, leads and clients fit together.
Finance
Invoices, payments, orders and subscriptions in full.

