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

  1. Click New User.
  2. Enter their name, email, and phone number.
  3. Assign a role: Administrator or Standard User.
  4. Set a temporary password or let the system generate one.
  5. Save. The user can log in immediately.

Managing Users

ActionEffect
EditUpdate name, email, role, or reset password
LockPrevent login without deleting the account
UnlockRestore login access
DeletePermanently 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:

TokenResolves 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 TypeValidation Applied
Phone NumbersEvery entry is validated as a mobile number; use international format where possible (e.g. +447700900123)
Email AddressesEvery entry must be a valid email address
Free TextNo 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:

SettingDescription
Twilio SIDYour Twilio Account SID
Twilio App SIDYour TwiML Application SID
Twilio API KeyAPI Key for token generation
Twilio API SecretSecret for the API Key
Twilio Phone NumberYour purchased Twilio number
Enable IntegrationMaster toggle for telephony features
Hold MusicAudio played to callers on hold
Recording ChannelMono 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 from New to Processing by opaque external reference. Concurrent claimers: exactly one succeeds; others receive 409.
  • POST /Api/leads/sample-site/failure — a bounded, idempotent BuildFailed report that atomically transitions one Lead from Processing to BuildFailed by 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 Lead Processing. Replays against an already BuildFailed Lead 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, leaves PreferredSite unchanged, and changes a Processing Lead to ReadyForEmail at the minimum or BuildFailed below it. One fixed-source StatusChanged activity 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-leaking 409 without 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.