Skip to content دوام Help Center

Customers (CRM)

Contacts & companies

One-line summary: your customer address book in Duwam — a "People" page with a table you search, filter and reorder the columns of as you please, and a "Companies" page that tells you, for every company, how many contacts it has and how many deals are open with it.

Plan: Available on the Professional, Advanced, Business and Custom plans (and during the trial), within the CRM workspace, and it needs the "Access CRM" permission. "Export CRM data" and "CRM bulk actions", however, are separate permissions granted explicitly. Start with the CRM overview first.

Overview

Companies and contacts are the foundation of the customer workspace. A company is an organization you deal with, and a contact is a person inside it. Link the two together and you build an organized address book that your deals, activities and conversations all set out from.

You reach them from: Switch system → CRM → Contacts. Today they are one row in the sidebar with two tabs: "People" and "Companies". The CRM workspace opens on the Inbox by default, so move across to "Contacts" yourself.

How do I add a contact?

  1. From the "People" tab press "New contact", and a side panel opens.
  2. Write the "First name" (required) and the "Last name", and add a picture if you like.
  3. Fill in the email and the phone — each of them takes one primary value and additional ones.
  4. In the "Work" section choose the "Company", the "Job title", the "Owner" and the "Contact type".
  5. In the "Location" section choose the "Country" and the "Address"; under "Advanced options" sit the structured address and the "Time zone".
  6. Fill in your company's custom fields if there are any, then save — or "Save and add another" to start a new record straight away.

Tip: Create the company before its contacts, so it appears directly in the picker and the contact joins the company page automatically. A contact with no company is perfectly fine — leave the field on "None", or link it later from the "Company" cell in the table.

Note: As you type, Duwam checks for duplicates and shows "Already on:" together with the matching record — a warning, not a block, and the save goes through. The "Do not send marketing" checkbox at the foot of the panel protects the customer from campaigns alone: "This contact receives no campaign or marketing message. Direct conversations are unaffected."

Caution: A single contact carries five numbers and five email addresses at most, and a number is never shorter than eight digits. The structured address under "Advanced options" is "The full national address — required for e-invoicing".

How do I add and edit a company?

  1. From the "Companies" tab press "New company".
  2. Write the "Name" — required, or else you get "Company name is required".
  3. Add the "Industry", the "Phone", the "Website", the "Address" and the "Owner" (or leave them "Unassigned").

The same form serves editing, under the title "Edit company", from the "Edit" button inside the company panel. Before saving, Duwam checks for a duplicate by name or website and says: "A company with this name or website already exists: {name} — press Save again to continue." — a warning, not a refusal.

Caution: A company linked to contacts or deals cannot be deleted — Duwam blocks it to protect your data, and tells you in numbers: "A company linked to {n} contacts · {n} deals cannot be deleted". Unlink or delete the dependent records first, then delete the company.

What does the "Companies" table show?

Above the table sits a "{n} companies" badge. It has seven columns: "Name", "Industry", "Phone" (copyable), "Website" (opens in a new tab), "Contacts", "Open deals" and "Owner". The two counters are computed on the server in one pass, not row by row.

  • Search: the "Search by name, industry or phone" box, with the same letter and digit folding the people list uses.
  • Sorting: on four fields only — name, contact count, open-deal count and creation date. It happens on the server before the pages are cut, so ordering by "most deals" describes your whole list rather than the page on screen. Every press of a sort returns you to the first page.

An empty table says "No companies yet" and, with it: "A company gathers contacts and deals under one name, so you know who you spoke to and what is open with them." Under a search that matches nothing: "Try another name, industry or number." with a "Clear search" button. And if the fetch fails: "Couldn't load companies".

Press any row to open the company panel: the "Call", "WhatsApp", "Website", "Add a contact" and "Edit" buttons, then the company's details, then "Contacts" with a count badge and a list of every person with their name, job title, phone and email — all copyable, and the row opens the person's record — then "Deals", then a "Deals total" line, then "Activity". When there is nothing yet the panel says "No contacts yet" and "No deals here".

Note: "Open deals" is a count, not an amount, because deals carry different currencies and two amounts in two currencies do not add up. That is also why "Deals total" only appears in the panel when all of the company's deals are in a single currency; otherwise it reads: "Deals are in different currencies — no total". A stage the system does not recognize is read as open, not closed.

Tip: To attach an existing person to a company, don't open their record: press "Add a contact" inside the company panel, and a picker opens where you search by name or number and see each result's current company. On choosing, the panel comes back with its counters, its deals and its timeline refreshed.

How do I search and sort "People"?

Above the table sits a "{n} contacts" badge counting all of your results, not your page alone (and "—" if the load fails). The table's six default columns are: "Name", "Email", "Phone", "Company", "Last activity" and "Created".

  • Search: type into "Search name, phone or email". Search folds hamzas (أ إ آ → ا) and Arabic-Indic digits into Latin ones, and matches a phone by its digits — so "0501234567" and "966501234567" both find "+966 50 123 4567".
  • Sorting: press a column header once for ascending and again to reverse the direction. Sortable: name, email, last activity, created, updated, open deals, idle (days). Phone, Tag, Owner and Company, however, are not sortable.
  • Paging: below the table, "1–50 of 240" (for example), "per page" (25, 50 or 100, default 50), "Previous" and "Next".

On first use the empty table says "Start building your client base" and "Add a contact manually or import a CSV". Under a search that matches nothing it says "No matching results" with a "Clear search and filters" button. And if the fetch fails: "Couldn't load contacts".

How do I filter the list by conditions?

Press "Filters" (which carries the number of your active conditions in brackets) to open the condition builder:

  1. "Add condition", then choose the field, the operator and the value.
  2. Choose "Match all" or "Match any".
  3. "Apply" — or "Clear filters" to return to the full list.

The operators follow the field's type: text (contains, does not contain, is, is not, is empty, is not empty), date (within last (days), before, after, between, is empty), a reference such as tag, owner and company (is any of, is none of, is empty, is not empty), number (equals, at least, at most, between, is empty), and checkbox (yes, no).

The filter stays saved in the page's link, so you can share it with a colleague or come back to it later exactly as it was.

Tip: One of the most useful fields is "Awaiting reply": it gathers everyone who wrote the last thing in the conversation and has not been answered yet — and an inbound that was never answered at all counts among them. Someone with several conversations counts as waiting if any one of them is. Add it as a condition with the "yes" operator and you have this morning's work list. It is a filter field, not a column in the table.

Caution: The condition builder's ceiling is 20 conditions in one filter. And when the "Company" value list is truncated it tells you: "Showing the first {n} companies only — type to search".

How do I save a search under a name?

Above the toolbar runs the "Smart lists" strip, starting with "All" and then your saved lists. Press "Smart list" to save the current search, filters, sort and columns under a single name:

  1. Write the "List name".
  2. Choose "Just me" or "Shared with the team" — a shared one carries a "Shared" badge.
  3. Save, and it becomes a tab you return to with one press.

To delete, you are asked "Delete this smart list?". A shared list is edited and deleted by nobody but its owner or the company admin.

How do I set up the table columns?

  • Choosing: the "Columns (8/12)" button (for example) opens a picker: switch on or off whatever you like, move things with "Move up" and "Move down", or go back with "Reset to default", then "Apply". The name column cannot be switched off ("The name column is always shown").
  • Reordering by dragging: drag the column header to its new position directly in the table.
  • Resizing by dragging: on the edge of each header is a handle you drag between 48 and 640 pixels; the other columns are unaffected because a filler column at the end of the table absorbs the remainder. The handle is keyboard-focusable, and its name names its column ("Resize column: Phone").

Among the available columns: job title, tags, owner, "Marketing consent" (Granted · Opted out · Never asked), "WhatsApp" (On WhatsApp · Not on WhatsApp · Not checked), "Contact type" (Lead · Customer · Partner · Vendor), country, city, address, structured address, time zone, "Open deals" and "Idle (days)" — plus your company's custom fields.

Note: Your choice and your widths are saved to you alone — every user gets their own table. And the two halves are independent: changing a width does not touch the column selection, nor the other way round.

Caution: The "WhatsApp" column is a value saved from an earlier check, not a check running in front of you, and "Not checked" is a real state that does not mean "not on WhatsApp". The "Time zone" field is stored and nothing reads it yet — a note about when your customer is awake, not an input to message scheduling.

What can I do on a single row?

Hover over the row and the copy icons appear (and on pressing: "{what} copied") along with the "Contact actions" menu (⋮), which holds six items:

Item What it does
"Quick preview" A card of what the table knows about the row, with no wait
"Open record" Takes you to the full contact page
"Start conversation" Opens the customer's conversation — and is disabled with "This contact has no number" if they have none
"Link to a company" / "Change company" Opens the company picker without leaving the table
"Add task" Text up to 500 characters with a due date
"Delete contact" With a "Delete “{name}”? This cannot be undone." confirmation

The "Company" cell itself carries a button that appears on hover: a plus sign for anyone without a company ("Link to a company") and an arrow for anyone with one ("Change company"). Both open the "Search for a company or create one" picker, which holds "Create company" and "Remove from company", and says when empty: "No companies yet — type a name to create one".

Note: There is no "New deal" in the row menu, and that is deliberate: a deal needs a pipeline and a stage, and both are on the Deals board. A contact that arrived from WhatsApp without a name carries an "Add a name" button in its place.

How do I act on several records at once?

Tick the checkbox on the rows (or in the header to select the page) and a bar appears saying "{n} selected". When your results run past a single page it offers "Select all {n} matching" — and "This page only" brings you back.

The bar's buttons: "Send message", "Run automation", "Tag", "Merge" (which only appears when exactly two records are selected) and "Delete", then "More", holding "Export selected" and "Assign". And "Clear selection" lifts the whole selection.

Caution: The ceiling for a single batch is 2,000 records — in tagging, deleting, assigning and running an automation, and likewise in bulk sending (2,000 recipients). Narrow your selection with a filter, then try again in two batches. And the bulk-send ceiling is not a ban ceiling: your day's pace is ruled by your number's own regulator, and the composer warns you before sending if the count exceeds what your number can bear in a day — see Campaigns.

Note: These buttons sit behind the "CRM bulk actions" permission, and "Export selected" behind "Export CRM data". Anyone without them does not see the buttons at all — except "Merge".

How do I import and export?

  • CSV import: press "Import CSV" and a four-step wizard opens: "Choose a CSV file with your contacts" → "Match columns" (Duwam proposes the matching and you correct it, and "— not mapped —" ignores a column) → "Preview" of the first five rows → "Confirm import". Then the result is shown: "40 created · 12 updated · 3 skipped" (example numbers), along with "Skipped rows", "Custom field values not imported" and "Ignored columns" where they exist.
  • Export: from the "Contact options" menu (⋮) beside the add button choose "Export list (CSV)" — it exports your current list after search, filters and sorting. Or select rows, then "More" → "Export selected". The file carries your chosen columns in their order, then all of your company's unarchived custom fields, and it starts with an encoding mark that opens it in Excel with correct Arabic. There is no ceiling on the row count. And when it fails: "Couldn't export".

Tip: Filter the list first, then export it, and you get exactly the customer segment you want — ready for a campaign or for an external analysis.

Caution: The import file is up to 2 MB, and up to 2,000 rows in a single file. Anything beyond that is not silently truncated; you are told in numbers: "Only the first 2,000 of 3,500 rows were imported — split the file and upload the rest" (example numbers). And your custom fields' columns are detected automatically — their matching is not edited by hand.

Note: The company admin has an extra button, "Import from WhatsApp", and it only appears for someone who has the WhatsApp feature enabled. It opens a decision screen showing the address book's counts before anything is written: a preview reads, an import writes, and an undo reverses what was written.

What is on the contact record page?

Press any row to move to a full page carrying the person's name and their company's name, holding four tabs:

  • "Overview" — the details, the tags, the custom fields and the picture, holding "Split the free-text address" and, from it, "Merge with…" and "Erase permanently".
  • "Conversation" — read-only.
  • "Deals" — this person's deals.
  • "Activity" — their timeline.

The "Back to contacts" button returns you to the list with the same filters, search and page — not to its beginning. And the open tab shows in the page's link, so you share it as it is.

Note: The "Conversation" tab says so outright: "This is a read-only view — reply to the customer from the inbox." With it comes an "Open in Conversations" link taking you to the Inbox, where the conversation is run in full, with status, assignment and saved replies.

How do I merge two duplicate records?

From the record page press "Merge with…" and the "Find a contact" picker opens ("Type a name or a number to search"), or select exactly two records in the table and press "Merge". The merge ends with a message: "Merged — {n} records moved".

Caution: The merge is refused if the two records together carry more numbers or email addresses than a single contact has room for (five of each kind). The message then explains what has to be deleted before you try again.

When do I use "Erase permanently"?

"Erase permanently" is a different door from deletion: deleting keeps the history, whereas erasing destroys the customer's messages, their attachments, the WhatsApp logs, the ratings, the form submissions, the campaign enrollments and the record itself — with no way back, and you are asked to type the customer's name in confirmation beforehand.

The result counts what was destroyed and claims no success that did not happen: it names "files that could not be destroyed" and "WhatsApp log not matched — unusable number" outright, and says "Erasure incomplete" when data is left undestroyed — so do not tell the requester their request was carried out before you have retried.

Caution: "Permanent erasure is available to the company admin only", and use it for statutory requests rather than for everyday tidying — what is erased is not recovered.

Why do some customers' pictures appear on their own?

In the background Duwam asks WhatsApp for the profile picture of contacts that have none, starting with the owners of the most recent conversation. There is no button and no screen for this: six batches a day, fifty numbers to a batch three seconds apart, a ceiling of 300 lookups a day per company number, and the same number is not asked about again within 30 days. That is why the pictures appear gradually in the name column and in the records.

Note: No picture is requested at all unless a WhatsApp number is connected — see WhatsApp notifications. And the harvest is partial by nature: a great many people hide their picture from anyone outside their contacts, and that is a setting on their phone, not a fault at your end.

FAQ

Q: Can a contact belong to more than one company? A: No — each contact links to one company (or to none). But a single deal may gather several contacts.

Q: I tried to delete a company and it was refused. A: The company is linked to contacts or deals, and the refusal tells you in numbers. That is deliberate, to protect your data; unlink those or delete them first.

Q: The "Export list (CSV)" button and the bulk bar's buttons have disappeared for me. A: They are two separate permissions — "Export CRM data" and "CRM bulk actions" — and neither is granted automatically along with the CRM permission. Ask the company admin to grant them from: Human Resources → Employees → edit an employee → Permissions → the "CRM" group.

Q: I deleted a contact by mistake; how do I get it back? A: There is no recovery screen for contacts today, which is why the confirmation says "This cannot be undone". Treat deletion as final on your side, and contact support if the matter is serious.

Q: I added a condition on "Awaiting reply" and then couldn't find it as a column in the table. A: It is a filter field on purpose, not a column. A column that shows nothing but yes/no over empty cells is worse than its absence, and the real value is in narrowing the list by it.

Q: Why can't I sort by the phone or the tag column? A: What is sortable is: name, email, last activity, created, updated, open deals, idle (days). Phone, tag, owner and company are not sorted — use "Filters" instead.

Q: Does the shape of the number matter when searching? A: No. Search matches a phone by its digits and folds hamzas and Arabic-Indic numerals, so "0501234567" and "966501234567" find the same number.

Q: Where do I filter by tags? A: From inside "Filters": add a condition on the "Tag" field with the "is any of" operator. The pinned tag chips above the list are the mobile app's interface in the Inbox, not the web People page.

Q: Why doesn't "Deals total" show in the company panel? A: Because its deals are in different currencies. Two amounts in two currencies do not add up, so "Deals are in different currencies — no total" is written instead of a confident wrong number.

Q: I imported a large file and not all of its rows went in. A: The ceiling for a single file is 2,000 rows and 2 MB. Duwam tells you in numbers how many it imported and out of how many, so split the file and upload the rest.

Q: Does Duwam prevent two identical records being created? A: No — it only warns you, for contacts and for companies alike. The save goes through on a second press, and after that "Merge" is yours for unifying what got duplicated.

Q: Where do I edit the custom contact fields? A: Not on this page — from the "Contact options" menu choose "Contact settings", which takes you to Settings.

Q: Do HR staff see customer data? A: No — access is gated by the "Access CRM" permission alone. The company admin and the system admin, however, pass by virtue of their role.

Quick reference

Action Path
All contacts Switch system → CRM → Contacts → the "People" tab
All companies Switch system → CRM → Contacts → the "Companies" tab
New contact "People" → "New contact"
New company "Companies" → "New company"
Edit a company Open the company → "Edit"
Link a contact to a company The "Company" cell in the row → the "Link to a company" / "Change company" button
Add an existing person to a company Open the company → "Add a contact"
Filter by conditions "Filters" → "Add condition" → "Match all" or "Match any" → "Apply"
The "Awaiting reply" list "Filters" → the "Awaiting reply" field → "yes"
Save a view under a name "Smart list" → "Just me" or "Shared with the team"
Choose the columns "Columns" → switch on/off → "Apply"
Resize a column Drag the handle on the edge of the column header
Row actions Hover over the row → "Contact actions" (⋮)
A bulk action Tick rows → "Send message" / "Run automation" / "Tag" / "Delete" / "More"
Merge two records Open the record → "Merge with…" — or select two records → "Merge"
Import a CSV "People" → "Import CSV" → "Match columns" → "Confirm import"
Import a WhatsApp address book "People" → "Import from WhatsApp" (company admin)
Export the list "Contact options" (⋮) → "Export list (CSV)"
Permanently erase a customer Open the record → "Overview" → "Erase permanently" (company admin)
Custom contact fields "Contact options" (⋮) → "Contact settings"