Configuration¶
Lime Connect needs to be configured in these places:
Runtime Config¶
Use Lime Admin to configure the Runtime Config. Each config parameter is described in Lime Admin and validated upon save.
Configure Multiple Instances Targeting the Same Topic¶
Creating multiple limeobjects per sent conversation is not supported right now. Therefore, it is not possible to configure several instances with the same Lime Connect topic.
Identify the Contact in Lime CRM¶
To identify the contact as a person in Lime CRM, a personRelation node has to be configured. The key in the payload where the contact information could be found needs to be configured as identificationKey. The lookup is then made on the property that is configured as propertyIdentifier. The lookup is made using one "person relation rule" at the time, in the order as they are specified in the configuration. If a rule results in a match, then the searching is ended.
Configure Default Values on the Created Limeobject¶
You can configure default values for all properties on the limeobject that is created when the chat is sent to Lime CRM. This is done under properties for each mapping object. You can configure hard coded values as defaultValue, and you can use dynamic values from the chat by configuring the key in Lime Connect's payload as userlikeKey. A full example of Lime Connect's payload can be found here (look at the chat_session_end example).
Example Configuration¶
We provide two examples, one that is targeting the helpdesk limetype and one that is targeting the deal limetype.
Helpdesk¶
This is an example that is targeting the helpdesk limetype.
{
"instances": [
{
"name": "Helpdesk",
"limetype": "helpdesk",
"relationCoworker": "coworker",
"relationCompany": "company",
"relationHistory": "history",
"relationConversation": "ulconversation",
"relationDocument": "document",
"linkType": "Web client",
"baseUrl": "https://userlike.com/en/umc#/conversation/",
"includeNotifications": false,
"importMediaFiles": true,
"document": {
"limetype": "document",
"propertyComment": "comment",
"propertyDocument": "document",
"propertyMessageId": "ul_messageid",
"propertyType": "type",
"optionKeyForMediaFiles": "other"
},
"history": {
"limetype": "history",
"propertyNote": "note",
"propertyType": "type",
"relationPerson": "person",
"relationCompany": "company",
"relationCoworker": "coworker",
"optionKeyForChat": "comment",
"optionKeyForNote": "internalcomment"
},
"personRelations": [
{
"limetype": "person",
"propertyIdentifier": "email",
"identificationKey": "contact.email",
"relationCompany": "company",
"propertyName": "name",
"relationMainLimetype": "helpdesk",
"relationHistory": "history"
}
],
"coworker": {
"limetype": "coworker",
"propertyIdentifier": "email",
"propertyName": "name",
"identificationKey": "operator_assigned_to_email"
},
"conversation": {
"limetype": "ulconversation",
"propertyConversationId": "conversationid",
"propertyLink": "link",
"propertyContactId": "contactid",
"propertyStartedTime": "startedtime",
"propertyContactFirstMessageTime": "contactfirstmessagetime"
},
"mappings": [
{
"topics": ["support"],
"properties": [
{
"limeProperty": "title",
"defaultValue": "New ticket from Lime Connect"
},
{
"limeProperty": "description",
"defaultValue": "The complete chat transcript is stored in the history flow."
},
{
"limeProperty": "source",
"defaultValue": "chat"
},
{
"limeProperty": "created",
"userlikeKey": "contact_first_message_sent_at"
},
{
"limeProperty": "email",
"userlikeKey": "contact.email"
}
]
}
]
}
]
}
Deal¶
This is an example that is targeting the deal limetype.
{
"instances": [
{
"name": "Lead",
"limetype": "deal",
"relationCoworker": "coworker",
"relationCompany": "company",
"relationHistory": "history",
"relationConversation": "ulconversation",
"relationDocument": "document",
"linkType": "Web client",
"baseUrl": "https://userlike.com/en/umc#/conversation/",
"includeNotifications": false,
"importMediaFiles": true,
"document": {
"limetype": "document",
"propertyComment": "comment",
"propertyDocument": "document",
"propertyMessageId": "ul_messageid",
"propertyType": "type",
"optionKeyForMediaFiles": "other"
},
"history": {
"limetype": "history",
"propertyNote": "note",
"propertyType": "type",
"relationPerson": "person",
"relationCompany": "company",
"relationCoworker": "coworker",
"optionKeyForChat": "comment",
"optionKeyForNote": "internalcomment"
},
"personRelations": [
{
"limetype": "person",
"propertyIdentifier": "email",
"identificationKey": "contact.email",
"relationCompany": "company",
"propertyName": "name",
"relationMainLimetype": "deal",
"relationHistory": "history"
}
],
"coworker": {
"limetype": "coworker",
"propertyIdentifier": "email",
"propertyName": "name",
"identificationKey": "operator_assigned_to_email"
},
"conversation": {
"limetype": "ulconversation",
"propertyConversationId": "conversationid",
"propertyLink": "link",
"propertyContactId": "contactid",
"propertyStartedTime": "startedtime",
"propertyContactFirstMessageTime": "contactfirstmessagetime"
},
"mappings": [
{
"topics": ["lead"],
"properties": [
{
"limeProperty": "name",
"defaultValue": "New lead from Lime Connect",
"userlikeKey": "subject"
}
]
}
]
}
]
}
Portal¶
The Portal section configures the embedded CRM panel that appears inside the Lime Connect Message Center. It consists of views (what to display), a lookup sequence (how to find the contact in CRM), and application config settings (authentication and framing).
Views¶
Each view defines what CRM data to display for a matched limetype. Configure one view per limetype.
| Parameter | Description |
|---|---|
limetype |
The CRM limetype this view targets (e.g., person). |
limeproperties |
A list of properties to display for this limetype. |
aggregations |
Optional. A list of related object groups to display, based on a filterset. |
Properties (limeproperties)¶
Each entry in limeproperties specifies a field to show in the portal:
| Parameter | Required | Description |
|---|---|---|
limeproperty |
Yes | The property name on the limetype. Supports dot notation for relation traversal (e.g., company.name to display the related company's name). |
label |
No | An optional label override. Leave empty to use the default property label. You can also use a translation key for localizations. |
Aggregations¶
Aggregations let the operator see related objects — for example, all open helpdesk tickets for the matched person — directly in the conversation without switching to Lime CRM. Each aggregation is shown as a collapsible section with a count and list of items. The 5 most recently created items are shown, if more are available it willn be shown in the count and the operator will need to use the action View in CRM to further explore the available data.
| Parameter | Required | Description |
|---|---|---|
relationlimetype |
Yes | The related limetype to aggregate (e.g., helpdesk). |
backreference |
Yes | The belongsto property on relationlimetype that points back to this view's limetype (e.g., the person relation on helpdesk). |
filterset |
Yes | A named stored filter (filterset) in Lime CRM that filters the aggregation results (e.g., a filter for open helpdesk tickets). |
Note
The backreference limetype must match the view's limetype. This is validated when the config is saved.
Lookup Sequence¶
The lookup sequence determines how the portal identifies the Lime Connect contact as a CRM record. Rules are evaluated in order — the first match wins. For a detailed explanation, see How it Works — Portal.
| Parameter | Required | Description |
|---|---|---|
connectproperty |
Yes | The property on the Lime Connect contact to use for the lookup (e.g., email, mobileNumber, phoneNumber, name). See the Lime Connect documentation for all available properties. |
limetype |
Yes | The CRM limetype to search (e.g., person). |
limeproperty |
Yes | The CRM property to match against (e.g., email). |
Warning
Every limetype referenced in a lookup rule must have a corresponding view configured. The config will not validate otherwise.
App Config Display (Read-Only)¶
The portal section in Lime Admin also displays the following read-only values from the application config. These cannot be changed in Lime Admin — update them in application_config.yaml (on-premise) or Cloud Admin (cloud).
| Setting | Description |
|---|---|
config.limepkg-userlike.portal_username |
The API user used by the portal (default: userlike@lime). |
config.limepkg-userlike.portal_frame_ancestor |
The allowed frame ancestor URL for CSP headers (default: https://app.lime-connect.com). |
secrets.limepkg-userlike.masked_jwt_secret |
A masked display of the currently configured JWT shared secret. |
Example Configuration¶
This example configures a portal for the person limetype, displaying name, email, company, and phone number, with an aggregation showing open helpdesk tickets. The lookup matches on the contact's email.

{
"portal": {
"views": [
{
"limetype": "person",
"limeproperties": [
{
"limeproperty": "name"
},
{
"limeproperty": "email"
},
{
"limeproperty": "company.name",
"label": "Works @ Company"
},
{
"limeproperty": "phone"
}
],
"aggregations": [
{
"relationlimetype": "helpdesk",
"backreference": "person",
"filterset": "open_tickets"
}
]
}
],
"lookup": [
{
"connectproperty": "email",
"limetype": "person",
"limeproperty": "email"
}
]
}
}
Application Config¶
Lime Connect is using the application level configuration in order to configure secrets to Lime Connect's API, which is used to fetch resources from Lime Connect. Information about how you can access Lime Connect's API and where you can find the API key can be found under the Authentication title here.
Windows on-premise Installations¶
For Windows on-premise installations, the application level configuration is expressed in the file %ProgramData%\Lundalogik\LIME Pro Server\application_config.yaml and shared by all services. If it does not already exist, just create it. Add the following to the file:
<application-display-name>:
secrets:
limepkg-userlike:
userlike_api_token: <userlikeapikey>
Restart the web server and the task handler.
Cloud¶
For Cloud installations, the application level configuration is configured in Cloud Admin).
Add following to the Secret box in the application configuration in Cloud Admin:
limepkg-userlike:
userlike_api_token: <userlikeapikey>
Portal Application Config¶
The portal requires a JWT shared secret for authentication between Lime Connect and the portal endpoint. Optionally, you can override the API user and frame ancestor URL.
Windows on-premise Installations¶
Add the following to %ProgramData%\Lundalogik\LIME Pro Server\application_config.yaml:
<application-display-name>:
secrets:
limepkg-userlike:
portal_jwt_shared_secret: <generated-jwt-secret>
config:
limepkg-userlike:
portal_user_username: userlike@lime # optional, this is the default
portal_frame_ancestor: https://app.lime-connect.com # optional, this is the default
Restart the web server and the task handler.
Cloud¶
Add the following to the Secret box in the application configuration in Cloud Admin:
limepkg-userlike:
portal_jwt_shared_secret: <generated-jwt-secret>
If you need to override the defaults, add the following to the Config box:
limepkg-userlike:
portal_user_username: userlike@lime # optional, this is the default
portal_frame_ancestor: https://app.lime-connect.com # optional, this is the default