Contact Fields
Each contact record stores the following information:| Field | Type | Required | Description |
|---|---|---|---|
tenant_id | integer | Yes | The tenant this contact belongs to |
full_name | string | Yes | Contact’s full name, max 255 chars |
company | string | No | Organisation or company name |
email | string | No | Email address |
phone | string | Yes | Primary phone number, max 50 chars |
status | string | Yes | Lifecycle status of the contact (e.g. lead, customer, inactive) |
notes | text | No | Free-text notes about the contact |
phone is required when creating a contact because it is the primary key used to match inbound callers and outbound SMS recipients to CRM records.Tenant Isolation
Every contact is associated with exactly one tenant viatenant_id. Contacts created under one tenant are never visible to another tenant’s admin users. When you access the CRM index, the platform loads contacts along with their tenant relationship so you always have context about which organisation owns each record.
Accessing the CRM in the Admin Portal
Open the CRM section
Log in to the admin panel and navigate to CRM → Contacts. The index page lists all contacts for the tenants you manage, with a search bar that filters by
full_name, company, or phone.Create a new contact
Click New Contact. Select the target
tenant_id from the dropdown, then fill in full_name, phone, and status. The company, email, and notes fields are optional.Practical Use Case: Identifying a Caller in Real Time
When an inbound call arrives, your IVR or agent application can look up thecaller_number from the CDR against the phone field in CRM contacts for the relevant tenant. Matching a caller to a CrmContact lets you:
- Pre-populate agent screens with the caller’s
full_name,company, andnotesbefore the call is answered. - Check
statusto route known leads to a sales queue and existing customers to support. - Append call outcome notes back to the contact’s
notesfield after the call ends.