Custom Extensibility

CRM.COM provides a customisable system, allowing users to tailor specific areas to their business needs. Through a few simple steps, users can activate and configure selected features, thereby expanding the system's functionality.

Two such features are:

 

Custom Fields

Custom fields allow you to store and manage additional information for various types of entities, like Contacts and Products. Each custom field is linked to a specific entity and can be easily assigned, edited, or viewed through the user interface or web APIs. Once a custom field is created, it can be assigned a value in all instances of that particular entity.


THE ESSENTIALS

Firstly, let’s explain some terms used in CRM.COM regarding custom fields.

Entity

The entity is the object for which the custom field is being created. You can create custom fields for the following entities in CRM.COM:

  • Contacts

  • Orders

  • Organisations

  • Service Requests

  • Devices

  • Payments

  • Refunds

  • Leads

  • Top-ups

  • Activities

  • Passes

  • Products

  • Credit Notes

  • Account Journal Entries

  • Wallet Journal Entries

Field Type

The field type defines the type of data to be collected by the business. The following custom field types are available:

Custom Field Type

Characteristics

Single line text

The maximum allowed character limit is 100.

Multiline text

The maximum allowed character limit is 512.

Timestamp

Time selector.

Date

Simple date picker.

Number

Accepts only whole numbers. Ability to define a minimum and maximum range.

Amount

Set a value using the business’s base currency. Option to set the number of decimal places (e.g. €10.55).

Numbering Scheme

Set up a numbering scheme with an optional prefix/suffix. CRM.COM automatically generates a sequential number and assigns it to the entity when it’s created. This number cannot be changed on the entity.

Selection

Create a drop-down selection list. Only one value can be selected from the list. Ensure that the total number of characters used for all options does not exceed 1000.

Checkbox

Basic single checkbox, the default value is false.

Radio Button

Define multiple radio button options, only one can be selected.

Users

Search and choose an existing system user from a drop-down list.

Organisations

This type of custom field is the only one that can also be configured by a Service Owner (SO). If configured at the SO level it can be set for the SO’s Businesses. If configured at the Business level, it can be set for the Business’s Merchants and Venues.


Managing Custom Fields

To add a value, edit or view a custom field for an entity from the UI, you must first navigate to the entity’s screen, e.g. CRM > My Contacts > select a Contact.

image-20240430-073337.png
Custom fields on the Contact screen

From the entity screen, select to Edit the Custom Preferences.

image-20240430-073451.png

Enter the necessary data.

The custom fields set appear on the Custom Preferences card.

Making the most of Custom Fields

Apart from editing and viewing custom fields from the entity screen (using the system UI), custom fields can also be used to tailor your CRM.COM experience to match your unique business needs in the following ways.

Reports

(Analytics > Reports)

Custom fields can be added to reports as columns, therefore providing more data.

Firstly, select the desired report and then click on the +Add Columns option. This will display a modal with a list of custom fields that are defined for the related entity. Select the fields you want to include in the report and they will appear as columns.

Insights

(Analytics > Insights)

Custom fields can be used as criteria or filters when creating insights.

Create an insight for an event (entity) with custom fields, e.g. Orders. Select +Criterion > Select Attribute > scroll down to see the list of custom fields, select a custom field and set the criteria.

To use a custom field for filtering, select the +Filter option > Select Attribute > Event tab > scroll down to see the custom fields, select one and set the filtering options.

Custom fields are not included when insight results are exported in UGD format.

Automations

(Platform > Automations)

Create an automation using a trigger event for an entity with configured custom fields (e.g. New Order) > Continue > Filter > Select Attribute > scroll down to see the custom fields, select one and set the filtering options.

When choosing filtering options for automations, the contact custom fields can be selected in addition to the entity's custom fields.

If an automation is being configured to send a communication, then custom fields for the entity (and contact) can be included in the communication message using communication tags, e.g custom field occupation defined for the contacts entity will appear as #contacts_custom_field.occupation, and custom field pos for orders entity will appear as #orders_custom_field.pos.

Importing Data

(Settings > Platform > Bulk Data Operations > Import Data)

Custom fields are extremely useful when importing data (contacts, devices, products) to CRM.COM. Make sure that you include them in your imported file using one column per custom field and map them correctly during the import process at the data mapping stage.

Refer to the Import Data user manual to find out more about importing data.

Use Cases

Custom Fields - External Webhook Integrations

On creating or updating entities that support custom fields (e.g. Contacts, Payments), you can extend such flows with additional data validations using custom fields external webhook integrations.

Example

When creating a new contact for a business operating in Cyprus, it might be required by the business that the contact provides a valid CY Tax Identification Code (T.I.C.).

The business could create a custom field for such an attribute with an external webhook integration to the Cyprus Tax Department for validating T.I.C codes on creating a contact. This provides the ability to allow (real-time) only contacts that provide a valid CY T.I.C. to register via the contact creation form.


Custom Field Settings

To create or view existing custom fields, navigate to Settings > Platform > Custom Extensibility > Custom Fields.

This screen filters custom fields by entity. Choose the entity for which you wish to view the custom fields, and the screen will be refreshed accordingly.

Select Create Custom Field to create a new custom field. There is no limit to the number of custom fields that can be created per entity.

Field Types 

First, choose a field type and format, e.g. if you want a Selector type field, you can choose from three different formats - Selection (drop-down list), Checkbox, Radio Button.

Field Definition

The second stage is to define the field characteristics according to the selected field type. The content of this screen varies according to the type of field selected.

Common settings for all field types:

  • Entity - Choose the entity you want to create a custom field for. The custom field can be edited and viewed on that particular entity screen.

  • Description - Custom field description for internal use.

  • Key - Set a unique key across custom fields. For use in integrations and APIs, only lowercase case characters and underscores are allowed, no spaces are permitted.

  • Label - The field label for UI purposes.

  • Tooltip - Provide some informative text for the UI, which appears when the user hovers over the info icon next to the label.

  • Hide field from user interface - If the toggle is enabled, the custom field is hidden from the user interface, even if it has a value.

  • Hide field from contact front-end applications? - Enabling the toggle makes the custom field visible on contact front-end applications, i.e. the app and portal.

Other settings:

  • Minimum number (for Number and Amount type) - Optionally set the minimum number allowed for validation purposes, if applicable.

  • Maximum number (for Number and Amount type) - Optionally set the maximum number allowed for validation purposes, if applicable.

  • Number of decimals (for Amount type) - Optionally set the number of decimal places for the field, if applicable.

  • Prefix (for Numbering Scheme type) - Optionally set a prefix to appear before the generated number.

  • Suffix (for Numbering Scheme type) - Optionally set a suffix to appear after all the generated number.

  • Number of digits (for Numbering Scheme type) - The length of the number excluding prefix and suffix.

  • Options (for Selection and Radio Button types) - Define the options for selection:

    • Key - Unique key identifier.

    • Text - The option name as it will on the UI.

    • Default - Optionally select one of the defined options to be the default value.

    • Order - Set the order in which the options should appear on the UI.

Reordering Custom Fields

It’s possible to change the order in which the custom fields appear on the UI so that they are in a logical sequence for the system users. Simply drag and drop them into the correct order using the hamburger icon.


Custom Forms

Managing Custom Forms

Typically, a Custom Form is an external implementation designed using CRM.COM’s Back-Office APIs and hosted outside of CRM.COM, which can be loaded and used via the back-end system.

To use a custom form, navigate to the entity for which a custom form has been defined, e.g. Contacts > My Contacts and select the name of the custom form from the summary screen.


Custom Form Settings

To create or view existing Custom Forms, navigate to Settings > Platform > Custom Extensibility > Custom Forms.

From here, you can also edit, delete or deactivate a Custom Form.

Designing a Custom Form

Select the Create Custom Form option to create a new Custom Form, where a user can define the URL endpoint where the custom form is hosted, the UI components that the form will be accessed from and loaded into, and the authentication signature that verifies the integrity of such a Custom Form.

Name

The name of the custom form. This appears on the UI.

Hosted Form URL Endpoint

Custom Forms are designed and developed on external systems. In order to be accessible from within CRM.COM, the URL Endpoint where the form is hosted should be explicitly defined.

Component Icon & Label

Accessing a Custom Form is achieved from a dedicated action button within the back-end system. Styling such an action button is possible by defining the following attributes:

  • Icon - Represents the graphic representation of such an action and will be associated with the configured label

  • Label - Represents the action button name, a good label should be short and intuitive

Component Type

Custom Form content can be loaded into two different UI components:

  • Modal - The content of the Custom Form will be loaded into a modal window (on top of the current back-end system data page)

  • Embedded - The content of the Custom Form will be loaded into a new data page (within the back-end system)

Component Location

Select the screen from which the custom form will be accessed through the back-end UI.

  • Zone Page - The custom form will be accessible from the entity summary screen for:

    • Contacts

    • Merchants

    • Venues

  • Data Page - The custom form will be accessible from the entity data screen for:

    • Contacts

    • Merchants

    • Venues

    • Service Requests

    • Orders

    • Activities

Custom Form Signature

Once the Custom Form has been successfully created, you will be notified of the authentication signature, use this to authenticate your Custom Form when integrating with CRM.COM.

Activating a Custom Form

Remember to Activate your Custom Forms so that they can be used. You can activate it either from the configuration page or from the summary screen.


Reference Material

You may also find it useful to refer to the following manuals for further reading in relation to custom fields & custom forms.

Activities

Activities

Automations

Automations

Business Network

Business Network

Contacts

Contacts

Finance

Payments, Refunds, Top-ups

Financials

Leads

Leads

Orders

Orders

Service Requests

Service Requests

Subscriptions

Devices

Subscriptions

 

Â