Skip to main content
Selecting View details on any contact opens its profile — the single page that holds everything DMLY knows about that person: their conversation history, their channels, their tags and notes, and, once they are a Client, their invoices, payments, credits and appointments. The page renders in two halves. Every contact gets the top half. The finance half — the money metrics, the records tabs and the client actions — only appears once the contact’s lifecycle stage is Client. On a lead, none of it is shown and none of it is even calculated.

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.
Below that:
  • Conversation summary — the Last inbound message they sent, or No messages from this contact yet.
  • ProfileContact 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.
The custom fields editor on this page is free-form. It does not check what you type against the custom fields you defined in Workspace settings, and it does not enforce their type. A misspelled field name silently creates a one-off field on this contact that no filter, segment or automation will ever match. Copy the field name exactly.

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.
Merge is permanent. All of the duplicate’s channels, messages, notes and tags move into the profile you keep, and the duplicate is deleted. Check you have the right winner before selecting Merge into this 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.
You often will not need this button. Raising an invoice, creating an order, recording a payment or starting a subscription converts a lead to a Client automatically — and those paths never ask for a phone number first. Mark as lead moves someone back. It only works while they are clean: if the contact has a confirmed or completed booking, a successful payment, a paid or fulfilled order, or store orders on file, DMLY blocks it — This client has billing or booking records and can’t be moved back to a lead. Downgrading never deletes anything; it only changes the stage, and the billing history stays on file.

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.
Three open a modal and write straight from here:
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.
All six actions need the client-management permission. If your role doesn’t have it, they do not appear — see Roles and permissions.

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.
Deleting is permanent and immediate. Export first if you might need the record — see Data and privacy.

Contacts overview

How contacts, leads and clients fit together.

Finance

Invoices, payments, orders and subscriptions in full.