# Manage Contacts and Leads (/how-to/customers/manage-contacts-and-leads)



In Resytech, a **Contact** (also called a lead) represents someone who has expressed interest in your business but has not yet made a booking. Contacts are typically created automatically when someone submits a contact form or subscribe form on your website. You can also create contacts manually from the dashboard.

The CRM dashboard separates contacts from customers: contacts are potential customers in your pipeline, while customers have completed at least one booking.

How contacts are created [#how-contacts-are-created]

Automatic creation (contact forms) [#automatic-creation-contact-forms]

When a visitor submits a **contact form** on your website:

1. The form submission is verified via CAPTCHA.
2. The system checks if a customer with the same phone number already exists. If so, the email from the form is added to the existing customer record.
3. If no matching customer is found, the system checks if a contact with the same phone already exists. If so, the new email is appended.
4. If neither exists, a new contact record is created with:
   * **Name**: First name + Last name from the form
   * **Email**: The submitted email (normalized to lowercase)
   * **Phone**: The submitted phone number
   * **Source**: `website`
   * **Obtain Method**: `contact_form`
   * **Contact Consent**: `true`
5. An alert email is sent to your support email address with the form details.

Automatic creation (subscribe forms) [#automatic-creation-subscribe-forms]

When a visitor submits a **subscribe form** (email-only):

1. The form is verified via CAPTCHA.
2. A contact record is created with the email and source information.

Manual creation [#manual-creation]

1. Navigate to **CRM** in the sidebar.
2. From the CRM dashboard or the contacts list, create a new contact.
3. Fill in the contact fields:

| Field               | Required | Description                                                                                                                                           |
| ------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**            | Yes      | The contact's name. Maximum 100 characters.                                                                                                           |
| **Emails**          | Yes      | One or more email addresses.                                                                                                                          |
| **Phone**           | No       | A phone number.                                                                                                                                       |
| **Source**          | Yes      | Where this lead came from. Maximum 100 characters. Common values: `website`, `referral`, `event`, `social-media`.                                     |
| **Customer ID**     | No       | If this contact is associated with an existing customer, provide the customer ID to link them.                                                        |
| **Contact Consent** | No       | Whether the contact has given permission to be contacted. Defaults to `true`.                                                                         |
| **Obtain Method**   | No       | How the contact info was obtained. Maximum 100 characters. Defaults to `manual`. Common values: `contact_form`, `subscribe_form`, `manual`, `import`. |

4. Click **Create**.

Viewing and filtering contacts [#viewing-and-filtering-contacts]

Navigate to the contacts list from the CRM dashboard's **Lead Management** quick action.

Available filters [#available-filters]

| Filter                  | Description                                                                                                  |
| ----------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Source**              | Filter by acquisition source (e.g., `website`, `referral`).                                                  |
| **Obtain Method**       | Filter by how the contact was obtained (e.g., `contact_form`, `manual`, `processed`, `follow-up-scheduled`). |
| **Date From / Date To** | Filter contacts by the date they were created.                                                               |
| **Contact Consent**     | Filter by whether the contact gave consent to be contacted (`true` or `false`).                              |
| **Customer ID**         | Filter contacts linked to a specific customer.                                                               |

Results are paginated at 50 contacts per page, sorted by most recent first.

Contact statuses and lifecycle [#contact-statuses-and-lifecycle]

Contacts move through a simple lifecycle tracked by the **Obtain Method** and **Status** fields:

| Status              | Obtain Method                              | Meaning                                               |
| ------------------- | ------------------------------------------ | ----------------------------------------------------- |
| Lead                | `contact_form`, `subscribe_form`, `manual` | New contact, not yet processed                        |
| Processed           | `processed`                                | Contact has been reviewed and handled                 |
| Follow-up scheduled | `follow-up-scheduled`                      | A follow-up action has been scheduled                 |
| Converted           | --                                         | The contact has made a purchase and became a customer |

Marking a contact as complete [#marking-a-contact-as-complete]

1. Open the contact's detail view.
2. Click **Mark as Complete** (or use the complete endpoint).
3. The obtain method is updated to `processed`.

Scheduling a follow-up [#scheduling-a-follow-up]

1. Open the contact's detail view.
2. Click **Schedule Follow-Up**.
3. The obtain method is updated to `follow-up-scheduled` and the source is annotated with the follow-up date.

Editing a contact [#editing-a-contact]

1. Open the contact from the contacts list.
2. Update any field:

| Field               | Description                    |
| ------------------- | ------------------------------ |
| **Name**            | Update the contact's name.     |
| **Emails**          | Add or change email addresses. |
| **Phone**           | Update the phone number.       |
| **Source**          | Change the lead source.        |
| **Contact Consent** | Toggle marketing consent.      |
| **Obtain Method**   | Update the processing status.  |

3. Save the changes.

Deleting a contact [#deleting-a-contact]

1. Open the contact from the contacts list.
2. Click **Delete**.
3. Confirm the deletion.

Deleting a contact permanently removes the record. This action cannot be undone.

CRM analytics for contacts [#crm-analytics-for-contacts]

The CRM provides analytics on your contact pipeline. Navigate to the **Analytics** section from the CRM dashboard to see:

| Metric                     | Description                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------- |
| **Contacts This Month**    | Number of new contacts created in the current month.                                  |
| **Contacts Last Month**    | Number of new contacts created last month.                                            |
| **Growth Percentage**      | Month-over-month change in contact volume.                                            |
| **Contacts by Source**     | Breakdown of contacts by acquisition source with count and percentage.                |
| **Monthly Trends**         | A month-by-month chart showing contact and customer counts over time.                 |
| **Total Customers**        | Total customer count for your location.                                               |
| **Active Customers**       | Customers who had a confirmed booking in the last 3 months.                           |
| **Average Customer Value** | The average total spend across all customers who have at least one confirmed booking. |

Analytics default to the last 6 months but can be filtered by a custom date range.

Tips [#tips]

* **Contacts auto-deduplicate by phone.** If someone submits a contact form and their phone already matches an existing customer or contact, the system appends the new email rather than creating a duplicate.
* **Use consent tracking.** The `contactConsent` field helps you comply with marketing regulations. Filter by consent before sending bulk communications.
* **Source values are free-form.** Establish naming conventions (e.g., always use lowercase, use hyphens) so your analytics breakdowns remain clean.
* **Contacts are location-scoped.** Each location has its own contact list. Multi-location businesses see only the contacts for the currently selected location.
