Settings & Configuration
Administrators configure SurelyCrm through the Settings panel. This guide covers user management, statuses, templates, custom fields, telephony, payment providers, and application-level configuration.
Admin Only: Most settings pages require the Administrator role. If you do not see these options, contact your system administrator.
User Management
Navigate to Settings > Users to manage team members.
Creating a User
- Click New User.
- Enter their name, email, and phone number.
- Assign a role: Administrator or Standard User.
- Set a temporary password or let the system generate one.
- Save. The user can log in immediately.
Managing Users
| Action | Effect |
|---|---|
| Edit | Update name, email, role, or reset password |
| Lock | Prevent login without deleting the account |
| Unlock | Restore login access |
| Delete | Permanently remove the user. Reassign their customers first. |
Statuses
Statuses define your Customer and Lead pipelines. Go to Settings > Statuses to create, edit, or remove them.
The page separates statuses into Customer and Lead tabs. Each status belongs to one record type, so Customer forms and reports use Customer statuses and Lead forms use Lead statuses. Creating a status uses the selected tab, and editing preserves the stored type.
Lead statuses are tenant data rather than a fixed application catalogue.
The stable cross-product automation names are New,
Processing, BuildFailed, and
ReadyForEmail.
Each status has:
- Value — The display name (e.g., "Active", "On Hold")
- Colour — Visual indicator on record cards
Statuses can be referenced in workflows, custom views, bulk actions, and automated actions. Lists follow creation order, so a newly added status appears last. Deletion is refused when a Customer or Lead record is assigned to the status. A status referenced only by a workflow Set Status stage does not currently block deletion; workflow-only deletion protection is out of scope for this feature and remains an open decision, not a blocker.
Email & SMS Templates
Templates ensure consistent communication. Create them in Settings > Email Templates and Settings > SMS Templates.
Template Tokens
Insert dynamic values using the [Entity.Property] syntax — property names are matched exactly, including case:
| Token | Resolves To |
|---|---|
[Customer.Firstname] | Customer's first name |
[Customer.Surname] | Customer's surname |
[Customer.ReferenceNumber] | Unique reference number |
[Customer.EmailAddress] | Email address |
[Customer.MobilePhone] | Mobile number |
[Customer.HomePhone] | Home number |
[Customer.Address1] | First line of address |
[Customer.Postcode] | Postcode |
[Customer.ExtraField.FieldName] | Value of a custom field |
Any property of the record can be referenced this way. Dates render as dd/MM/yyyy, money as currency, and true/false values as Yes/No. Tokens that don't match a property are left as-is.
Cloning Templates
Use the Clone action to duplicate an existing template as a starting point. This is useful for seasonal campaigns or A/B testing variations.
Notification Groups
Notification groups are reusable recipient lists you can target from workflow Email and SMS stages. Manage them in Administration > Notification Groups.
Each group has a Group Name, an optional Description, a Group Type, and one or more entries. The type controls how entries are validated:
| Group Type | Validation Applied |
|---|---|
| Phone Numbers | Every entry is validated as a mobile number; use international format where possible (e.g. +447700900123) |
| Email Addresses | Every entry must be a valid email address |
| Free Text | No format validation; entries are stored as entered |
Entries are checked before the group is saved, and a group must contain at least one entry. When a workflow stage uses a group, the message is sent to every entry without creating customer notification history.
Custom Fields
Administrators create custom fields in Settings > Custom Fields. Each definition applies to exactly one record type: Customer, Lead, or Supplier. Use the Applies To filter to view one record type at a time. Field names remain unique across the tenant.
- Name — Internal identifier (no spaces)
- Label — Display name shown to users
- Type — Text, Number, Date, DateTime, Checkbox, Dropdown, or TextArea
- Required — Whether the field is mandatory
- Active — Inactive fields are hidden but preserve data
- Display Order — Sort position on the record form
- Show in Customer Portal — Available only for Customer fields
For Dropdown fields, define the allowed options as a comma-separated list. Customer fields retain their existing Customer profile, workflow, and template behaviour. Supplier fields always appear on the staff Supplier form.
Lead Conversion Configuration
Administrators configure Lead-to-Customer conversion from the Lead Conversion Configuration tile in Administration > System Configuration. The configuration is tenant-local and always active; there is no feature toggle for conversion.
The saved document contains the scalar mappings, optional Lead-to-Customer custom-field mappings, and the option that controls whether each ClosedWon Opportunity creates a Customer Plan. Same-name fields are matched by default, with legacy contact aliases and manual overrides available. Unmapped Lead custom-field values remain on the Lead.
Preview loads the current configuration and shows the fields, custom values,
Opportunity links, plans, and balances that conversion would produce. The
final conversion reloads and validates the current Lead and configuration
before saving all changes in one transaction. API callers may supply only an
optional Customer statusId; the CLI has the equivalent
--new-status-id option.
Document Types
Document types categorise uploaded files. Configure them in Settings > Document Types. Examples:
- Contract
- ID Verification
- Proof of Address
- Invoice
- Correspondence
You can clone document types and assign them display colours for quick visual recognition.
Telephony Configuration
To enable the built-in phone system, go to Settings > Application Settings and configure the Twilio section:
| Setting | Description |
|---|---|
| Twilio SID | Your Twilio Account SID |
| Twilio App SID | Your TwiML Application SID |
| Twilio API Key | API Key for token generation |
| Twilio API Secret | Secret for the API Key |
| Twilio Phone Number | Your purchased Twilio number |
| Enable Integration | Master toggle for telephony features |
| Hold Music | Audio played to callers on hold |
| Recording Channel | Mono or dual-channel call recording |
Security: Twilio credentials grant access to your phone system. Store them securely and rotate the API Secret regularly.
Payment Providers
SurelyCrm supports payment provider integrations for processing customer payments. Go to Settings > Payment Providers to configure them.
Currently supported:
- PayPal — Full integration with sandbox and live modes
- Stripe — Coming soon
- GoCardless — Coming soon
For each provider you will need:
- Client ID / Public Key
- Client Secret / Private Key
- Sandbox mode toggle (recommended for testing)
Click Test Connection to verify credentials before going live.
Bank Accounts
Bank accounts record the accounts you use to track bank transfer payments. Manage them in Administration > Bank Accounts under Payment & Financial.
Each account has:
- Account Name — A label for the account (e.g. "Main Business Account")
- Bank Name — The bank the account is held with
- Account Number and Sort Code — The account details
- Active — Only active accounts appear in payment forms
- Notes — Optional free-text details
All fields except Notes are required. Accounts can be edited or deleted from the list at any time.
Application Settings
The Application Settings page controls global behaviour:
- Company Name — Displayed in emails and the portal
- Default Email From — Sender address for system emails
- Portal Settings — Require authentication, enable messaging
- Twilio Integration — Telephony configuration
License Limits
Open Administration > License Limits to see which features are licensed for this CRM and the limits that apply. The status table shows, per feature:
- Status — Active or No License
- Limit — The licensed allowance, or Unlimited
- Valid From / Valid Until — The licence validity period
- License Code — The code currently applied
To activate a feature, enter the code supplied to you in the Claim License Code box — codes use the format XXXX-XXXX-XXXX — and click Claim License. A success or error message confirms the result.
Application Logs
The Administration > Application Logs page is a searchable viewer for logs written by background services and system components. You can filter by:
- Date From / Date To — The period to search
- Sources — One or more components that wrote the logs
- Levels — Debug, Information, Warning, or Error
- Search — Free text matched against the message, exception, source, and tenant
Click Filter to apply the filters or Clear to reset them. Results show the timestamp, level, source, tenant, and message for each entry, with the full exception detail where one was recorded. Results are paged, 50 entries per page, with the total count shown above the table.
Feature Toggles
Administrators manage tenant-specific feature toggles from Administration > Feature Toggles. A toggle changes only the current tenant's CRM database.
Toggles are grouped on the Feature Toggles page by functional area. The group
headers AI, BackgroundEngine, Balance,
Campaigns, Email, InventoryManagement,
Leads, Opportunities, Security,
Suppliers, and the customer-portal family sit directly under
Master Features; every
other toggle belongs to one of those groups — for example LeadImport
sits under Leads. A group header and its children are evaluated
independently unless a toggle's own documentation says it also checks its parent.
Lead manual communication
Manual lead communication follows the general Leads toggle; there
is no separate child toggle. When Leads is enabled, staff can send
a manual message from a lead. While it is disabled the
Send Message entry point is hidden and direct compose or send
requests return not found, so the feature cannot be reached by a crafted URL.
Existing lead communication history stays readable under its normal rules.
Disabling the toggle never stops inbound email history from being captured.
Manual SMS requires an available SMS credit and deducts one credit after a
successful send, independently of history storage. While the toggle is
enabled, received lead emails also offer a Reply action in the
lead timeline and message detail; the reply uses the stored
Message-Id, In-Reply-To, and References
metadata for email threading, and older messages without that metadata reply
without invented headers.
Supplier custom fields
Supplier custom fields are always enabled. The SupplierCustomFields
feature toggle has been removed; the Supplier record type is
always available in Custom Field administration and active Supplier fields
always show on the staff Supplier create and edit forms.
Administrators can filter, create, edit, activate, deactivate, order, and delete Supplier definitions. The Show in Customer Portal setting remains available only for Customer definitions.
Supplier fields support Text, Number, Date, DateTime, Checkbox, Dropdown, and TextArea. They are staff-only and do not add search, saved views, filtering, reports, exports, APIs, CLI commands, workflows, templates, portals, or bulk actions.
Lead bulk actions
Lead bulk actions are available whenever the Leads feature is
enabled — there is no separate LeadBulkActions toggle. Administrators
can target non-converted Leads from the Bulk Actions page using a
saved Lead view or the existing manual search and Campaign filters. Matching
Lead IDs are captured when the job is created, and the supported actions are
Change Status, Start Workflow, Send Email, and Send SMS.
ProcessBulkActions must also be
enabled for the existing background worker to process jobs. The
BulkActions licence limits the target count, and Lead workflow
starts use the existing WorkflowExecution licence. Bulk SMS uses
the existing SMS credit rules. Only Administrators can create or manage jobs.
When Leads is disabled, the page remains Customer-only and crafted
Lead preview or create requests fail closed. This feature adds no public API or
CLI command.
Reference-backed campaign promotion
ReferenceBackedCampaignPromotion is disabled by default. Enable it only after
the tenant's database migrations have completed and the external integration is ready.
When enabled, it exposes the external campaign-location, campaign-selection, campaign-create,
and atomic Lead/Opportunity promotion endpoints. When disabled, all of those
/Api/external/... endpoints return 404. Existing UUID-based CRM
APIs stay available to their existing clients, but they are not an alternative contract for
Dark Leads and do not expose external references.
Before enabling the toggle, confirm that locations are active and campaigns are assigned to
their intended locations. Use opaque externalReference values for the
integration; a campaign's display referenceCode is not its external identity.
See the External Promotion API for retry,
conflict, and eligibility behaviour.
Automated sample-site claim
AutomatedSampleSiteClaim is disabled by default.
Enable it only when an external sample-site claimer is ready
to poll and claim Leads for the tenant.
When enabled, it exposes:
GET /Api/leads/byStatus— a bounded, status-filtered Lead listing that returns opaque external references, status, and created timestamps only. The listing is read-only.POST /Api/leads/claim— an atomic compare-and-set claim that transitions one Lead fromNewtoProcessingby opaque external reference. Concurrent claimers: exactly one succeeds; others receive409.POST /Api/leads/sample-site/failure— a bounded, idempotent BuildFailed report that atomically transitions one Lead fromProcessingtoBuildFailedby opaque external reference with a required reason of at most 500 characters. The status change and the single bounded LeadActivityHistory reason commit together; a failed activity insert rolls back, leaving the LeadProcessing. Replays against an alreadyBuildFailedLead return the same success only when the durable failure activity exists, without overwriting the reason or duplicating activity.POST /Api/leads/sample-site/completion— accepts the existing one-URL form or an ordered batch of distinct raw HTTPS URLs with a positive success minimum. It stores URLs one per line, leavesPreferredSiteunchanged, and changes aProcessingLead toReadyForEmailat the minimum orBuildFailedbelow it. One fixed-sourceStatusChangedactivity and all Lead-field updates share a transaction. Replays require matching status, ordered URL text, and durable marker; CRLF/LF line endings are equivalent, but a different URL or order still conflicts. A later human preference does not conflict. Otherwise they receive a non-leaking409without mutation. The response is status-only.
The request uses the apiKey header and its host
selects the tenant database. Surely CRM owns the Lead state
and site URL fields; the external Orchestrator calls this
public API after delivery.
When disabled, all four endpoints return 404.
Responses, logs, and metric tags for these endpoints do not
expose CRM UUIDs, URLs, reason text, contact data, or other
PII. See the
Lead Status List API,
Lead Claim API,
Lead Build
Failure API, and
Sample-site
Completion API.
Supplier workflows
Supplier workflows are always enabled. The SupplierWorkflows
feature toggle has been removed. A Supplier workflow is a workflow whose
persisted primary record is Company, shown to staff as
Supplier.
Administrators can create and manage Supplier workflows, use Company Added or Modified triggers, and start an active Supplier workflow from an existing accessible Supplier record. Supplier stages support Email, SMS, Set Status, Wait, Start Workflow, and the existing REST action. Conditions use the Supplier's current contact, address, status, credit, and owner fields. See the Supplier workflow actions and Supplier workflow conditions.
Supplier Email and SMS do not add Supplier communication history; no API or CLI surface is added. See the workflow start guidance and the Supplier record guidance.
SalesBrief
SalesBrief is disabled by default. Enable it to
show the SalesBrief textarea on the authorised Lead create
and edit form and to expose the
Lead Read API.
When enabled, the form shows a SalesBrief textarea with a
live character count and the same 8,000-character limit as
storage, and
GET /Api/external/leads/{externalReference}
returns the stored external reference, business name,
brief, and optional contact email and phone for the
tenant. The brief is plain text or simple Markdown stored
as untrusted text and is never rendered as trusted HTML.
While the toggle is disabled the form field and read API
are inaccessible: the field is hidden and a direct form
submission cannot store or replace a brief, and the read
endpoint returns 404. The external promotion
endpoint stores a supplied brief at Lead creation even
while this toggle is off; only the form and read API are
gated.
AI
AI is disabled by default. Enable it only after
you are ready to connect an AI provider and configure the
tenant on the AI Settings page.
When enabled, it exposes the whole AI family: the
AI Settings admin page (admin dropdown and
dashboard tile), AI auto-reply on inbound correspondence
email, the AI Reply Queue for reviewing
generated replies, and the Generate with
AI button on the Email Templates and SMS Templates
edit pages. When disabled, all navigation entries are
hidden and direct access to those pages returns
404. See
AI Email Assistant
for the configuration fields and reply workflow.
AI customer summary
AiCustomerSummary is a child of the
AI toggle and is disabled by default. It has
its own toggle because every summary consumes provider
tokens; both toggles (and a saved AI configuration) must be
on before anything summary-related appears. It can be
switched from the Feature Toggles page or directly from the
AI customer summary switch on the AI
Settings page — both flip the same toggle.
When enabled, the customer overview page shows an
AI Summary card that loads a short
summary of the customer's current position automatically
after the page renders (asynchronously, so page load is
unaffected). When either toggle is
disabled the card is hidden and the endpoint returns
404. See
AI Email Assistant
for details.
Successful summaries are cached in the tenant database for
24 hours per customer and served from the cache on repeat
requests, so provider API credits are not re-spent. The
AiCustomerSummaryCache toggle (a child of the
AI group) is enabled by default;
disable it to call the AI provider on every request instead
(for example while testing prompt changes). Expired rows
are simply rewritten on the next request, and a customer's
cache rows are removed when the customer is deleted.
Unknown sender processing
UnknownSenderProcessing is disabled by default.
It is a rule-based email-agent feature, separate from AI:
no provider or API key is involved.
When enabled, the Unknown Sender Action setting appears on the Email Agent admin page and the email agent applies it to inbound correspondence whose sender matches no existing customer or lead: do nothing (default), create a customer, or create a lead. When disabled, the setting is hidden; senders that match no existing record are only logged to the inbound email ledger, while senders that do match a customer or lead are still recorded in that record's notification history. See Unknown Sender Processing for the exact matching and creation rules.
Leads
Leads controls the top-level sales
modules. When enabled, Campaigns
and Leads appear in the main
sidebar and the Campaign
Locations entry appears in the admin
dropdown. When disabled, those navigation entries
are hidden. The Opportunities and Lead Tasks links
sit inside this section, so this toggle must be on
before either of them can appear.
Opportunities
Opportunities is enabled by default. It
enables opportunities to track deals and pipeline
value against leads: the
Opportunities sidebar link, the
Opportunities tab on the Lead form, and the
opportunity counts and recent opportunities on the
dashboard.
When disabled, the navigation entries and dashboard
cards are hidden and the Opportunities pages return
404. The sidebar link only appears when
the Leads toggle is also on.
LeadTasks
LeadTasks is enabled by default. It
enables lead tasks to create and track follow-up
to-dos against leads: the Lead
Tasks sidebar link, the Tasks tab on the
Lead form, and the open, overdue, and upcoming task
panels on the dashboard.
When disabled, the navigation entries and dashboard
panels are hidden and the Lead Tasks pages return
404. The sidebar link only appears when
the Leads toggle is also on.
Lead conversion
Lead conversion is always active and is configured from the
Lead Conversion Configuration
tile. The historical OpportunityToPlanConversion toggle is not
a runtime gate and must not be enabled or disabled to change conversion
behaviour.
Campaign Locations
Every campaign is assigned to a location, so set up locations before creating campaigns. Administrators manage the list from Administration > Campaign Locations (under Campaigns in the admin dropdown), or from the Add Location button on the Campaigns page. The entry is only visible while the Leads feature toggle is on.
Each location has:
- Name — Required; shown when assigning campaigns
- Description — Optional free text
- Active — New locations are active by default
Locations can be edited or deleted from the list. Choose the location when creating or editing a campaign; it is a required field on the campaign form.
Support Categories
Configure support ticket categories in Settings > Support Categories. Categories help route tickets and generate analytics. You can activate or deactivate categories without losing historical data.