> ## Documentation Index
> Fetch the complete documentation index at: https://help.clinikehr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Track contacts and enquiries

> Work the pre-clinical funnel — leads, enquiries and prospects — on a board you drag them across, and take new ones from your website.

export const StillStuck = ({topic}) => <div className="ck-callout ck-callout--note" role="note">
    <p className="ck-callout__body">
      <strong>Still stuck{topic ? ` with ${topic}` : ''}?</strong>{' '}
      Check <a href="/platform/help/troubleshooting">Troubleshooting</a> first —
      it covers the failures we see most often. If that does not resolve it,{' '}
      <a href="/platform/help/contact-support">contact support</a> and include
      your workspace name and the time the problem happened, so we can find the
      matching entry in your audit log.
    </p>
  </div>;

export const TaskHeader = ({before, time, after}) => <div className="ck-task">
    {before ? <div className="ck-task__cell">
        <div className="ck-task__title">Before you start</div>
        <p className="ck-task__body">{before}</p>
      </div> : null}

    {time ? <div className="ck-task__cell">
        <div className="ck-task__title">Takes about</div>
        <p className="ck-task__body">{time}</p>
      </div> : null}

    {after ? <div className="ck-task__cell">
        <div className="ck-task__title">When you're done</div>
        <p className="ck-task__body">{after}</p>
      </div> : null}
  </div>;

export const Path = ({steps = []}) => <span className="ck-path">
    {steps.map((s, i) => <span key={i} className="ck-path__step">
        {i > 0 ? <span className="ck-path__sep" aria-hidden="true">
            ›
          </span> : null}
        {s}
      </span>)}
  </span>;

export const Availability = ({editions = ['all'], plans, roles, note}) => {
  const list = editions.includes('all') ? ['clinic', 'pharmacy', 'lims'] : editions;
  return <div className="ck-avail" role="note" aria-label="Feature availability">
      <span className="ck-avail__label">Available in</span>

      {list.map(e => <span key={e} className={`ck-pill ck-pill--${e}`}>
          {EDITION_LABELS[e] || e}
        </span>)}

      {plans ? <span className="ck-avail__label">Plan</span> : null}
      {plans ? <span className="ck-pill ck-pill--plan">{plans}</span> : null}

      {roles ? <span className="ck-avail__label">Who</span> : null}
      {roles ? <span className="ck-pill ck-pill--role">{roles}</span> : null}

      {note ? <span className="ck-avail__note">{note}</span> : null}
    </div>;
};

<Availability editions={['clinic']} plans="Enterprise — unlimited contacts, pipelines and advanced embedding" roles="Front desk staff can work it; owners and managers can manage it" note="Needs the Front desk care area" />

**Contacts** is "Your pre-clinical funnel — leads, inquiries, prospects, and the waitlist. No clinical data lives here." It holds the people who have reached your hospital but are not patients yet: the enquiry about an antenatal package, the employer asking about occupational health, the family ringing round about a scan.

<Path steps={['Sidebar', 'Front Desk', 'Contacts']} />

<TaskHeader before="Nothing to configure to start using it" time="A few minutes to set up your stages" after="An enquiry board reception works, and a public form that fills it" />

## Before you start

The **Front desk** care area must be on — it carries the board, appointments, patients and contacts together. See [Care areas](/hospital/get-started/care-areas).

Being on Enterprise means every limit is lifted: unlimited contacts, unlimited pipelines and segments, unlimited campaigns, custom fields, and advanced embedding. You will not meet an upgrade prompt on this page.

## What you're looking at

Five tabs:

| Tab               | What it is for                                     |
| ----------------- | -------------------------------------------------- |
| **Board**         | Every contact as a card, arranged by stage         |
| **Contacts \{n}** | The full list. The count appears once there is one |
| **Follow-ups**    | What somebody promised to do, and when             |
| **Campaigns**     | Outbound email to your opted-in contacts           |
| **Insights**      | How enquiries are converting                       |

The header carries **New contact**, a search box — "Search by name, email, phone, or company…" — a pipeline picker, **Segments**, a sort control, **Clear**, and **Share contact page**. Managers additionally get **Custom fields**, **Import** and **Export**.

**Board** shows one column per stage, each with a count, and an **Add contact** button at the foot. A column with nothing in it says **Drop contacts here**; a hospital with no stages at all sees **No pipeline stages yet.**

**Contacts** lists **Name**, **Contact**, **Stage**, **Score**, **Source**, **Owner** and **Last activity**, and reads "No contacts match your filters." when a search finds nothing.

**Follow-ups** opens on a count — "12 open follow-ups" — with a **My follow-ups** / **All** toggle and columns for **Follow-up**, **Due**, **Owner** and **Priority**. A due badge reads **Overdue**, **Today**, **Upcoming** or **No due date**. Cleared, it says "You're all caught up — no open follow-ups."

**Insights** is the funnel: **Total contacts**, **Open**, **Converted** and **Conversion rate**, then **Funnel by stage**, **Source ROI**, **Owner leaderboard**, **Waitlist aging** and **New leads (last 30 days)**.

<Note>
  **Campaigns and Insights are hidden by role, not by plan.** So are **Import**, **Export**, **Custom fields** and **Manage stages**. They are **absent** rather than greyed out for anyone who may not manage contacts — so if you cannot see them there is nothing to click and nothing to unlock on this screen. Managing the CRM is limited to the hospital owner and staff with the **owner** or **manager** role.
</Note>

## Work the board

<Steps>
  <Step title="Open Board">
    Each contact is a card sitting in a stage. **List** shows the same thing as rows if you prefer, and behaves the same way.
  </Step>

  <Step title="Drag a contact between stages">
    Move the card as the enquiry moves — the position of a card *is* the status of the enquiry, so nobody has to open anything to see where things stand. The card jumps immediately; if the move fails it springs back with **Could not move contact**, and nothing is left half-moved.

    Contacts with no stage collect in an **Unassigned** column, which only appears when there is something in it. You can drag out of it but not into it.
  </Step>

  <Step title="Customise your stages">
    Select **Manage stages** to open **Manage pipeline** — "Rename, recolor, reorder, add, or remove stages. Drag a stage to change its order." Mark the stages that end an enquiry as won or lost; those drive your conversion figures and the convert flow.

    Name stages after what happens next, not after how the enquirer feels. Deleting a stage moves its contacts to the first remaining one.
  </Step>

  <Step title="Bring in a list you already have">
    Select **Import** — "Upload a CSV, map its columns, and import. Rows are deduped on email then phone — existing contacts are updated, not duplicated." The spreadsheet reception has been keeping is usually the right starting point.
  </Step>
</Steps>

## Take enquiries from your website

The **Contact form** is a public enquiry page whose submissions land here as leads. Switch it live, set the page address, and use **Share contact page** in the header to copy the link — that hosted page is the fastest route live, with nothing to install. For your own site, copy the embed snippet into the page's HTML just before the closing body tag. Full setup is on [Contact form](/hospital/settings/contact-form).

Ask for the minimum on the form. Every extra field costs you enquiries.

## Who can do this

| Action                                                                                    | Who by default                                              | Governed by                                    |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------- |
| Open **Contacts**, add and edit a contact                                                 | Front desk and admin staff whose role reaches the module    | Role Navigation + the **Front desk** care area |
| Drag a contact between stages                                                             | Anyone who can open the board                               | Role                                           |
| Complete a follow-up                                                                      | Anyone who can open the board                               | Role                                           |
| **Campaigns**, **Insights**, **Import**, **Export**, **Custom fields**, **Manage stages** | The owner, and staff with the **owner** or **manager** role | A fixed rule, not a permission slug            |

The controls in that last row are removed from the page rather than disabled, which is why "it's greyed out" is never the symptom — the button is simply not there. Nothing on this page is gated by an individual permission slug, and no figure renders as a dash.

Two behaviours worth knowing. Permission enforcement elsewhere in the product is **opt-in per person**, and the permissions sheet warns **"Saving starts enforcing"**. And a denied action is recorded in the audit log while an allowed one is not — hiding a module in [Role Navigation](/hospital/settings/role-navigation) is a convenience, not a security boundary.

## Check it worked

* A contact dragged to a new stage stays there when you reload the board.
* The count beside the **Contacts** tab matches what you expect after an import.
* Submitting your own public form puts a new card on the board.
* A follow-up you marked done has left the **Follow-ups** count.

## Common issues

<AccordionGroup>
  <Accordion title="There is no Contacts entry in my sidebar">
    Either the **Front desk** care area is off — see [Care areas](/hospital/get-started/care-areas) — or your role does not reach the module. Under role-scoped navigation the CRM is opened to a narrow set of roles, so a clinician may well not have it.
  </Accordion>

  <Accordion title="Campaigns and Insights are not there at all">
    They are hidden, not disabled, for anyone who may not manage contacts. **Import**, **Export**, **Custom fields** and **Manage stages** disappear with them. Ask an owner or manager, who have them by default.
  </Accordion>

  <Accordion title="A card springs back when I drag it">
    The move failed and was undone — you will have seen **Could not move contact**. Check your connection and try again; the board never leaves a contact half-moved.
  </Accordion>

  <Accordion title="I cannot drag anything into Unassigned">
    Deliberate. **Unassigned** is where contacts with no stage collect; it is a starting point, not a destination. Drag them out into a real stage instead.
  </Accordion>

  <Accordion title="The embedded form does not show on our website">
    The snippet has to go into the page's HTML immediately before the closing body tag. If your site is edited through a page builder, look for its "custom code" or "footer scripts" box. Save your form changes first — the embed reflects what is saved, not what is on screen.
  </Accordion>

  <Accordion title="I am suddenly at a contact limit on Enterprise">
    Limits snap back to the Free tier if the subscription is neither active nor trialing. Check your plan status under [Change your plan](/platform/plans/change-plan).
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="An enquirer became a patient — do I retype them?">
    No. Register them properly in [Patients](/hospital/front-desk/patients); the contact card stays as the record of how they first reached you.
  </Accordion>

  <Accordion title="Can clinical information go on a contact?">
    No, and that is the point — "No clinical data lives here." A contact is a pre-clinical record. Anything clinical belongs on a patient record, where it is protected and audited properly.
  </Accordion>

  <Accordion title="Does a campaign email everyone on the board?">
    Only contacts who have opted in. Consent and an unsubscribe link are always enforced, so a contact who opted out is never mailed even if you select them.
  </Accordion>

  <Accordion title="What does the Score column mean?">
    A lead score, recalculated from the contact's activity. Managers can force a recalculation from **Insights** with **Recompute scores**.
  </Accordion>

  <Accordion title="Can we run more than one pipeline?">
    Yes — Enterprise has no cap. Use separate pipelines when two funnels have genuinely different stages, such as corporate occupational-health contracts and individual patient enquiries.
  </Accordion>
</AccordionGroup>

<StillStuck topic="contacts and enquiries" />
