Technical¶
Components¶
- Table and Field Definitions Lime CRM
- Frontend with Lime Web Components (webclient)
- Custom endpoints
- Portal
- Lime Connect
Table and Field Definitions Lime CRM¶
The installation of Lime Connect will create the ulconversation table and add a ulconversation field on the table specified in the installer config. If a document limetype is specified, a ul_messageid field will be added to the document table.
Below is an example of the database structure changes when the installation targets the Helpdesk limetype.
Table database name: ulconversation
| Field | Field type | Required | Read only | Invisible | Note |
|---|---|---|---|---|---|
| conversationid | Integer | No | Yes | No | |
| link | Link (512) | No | Yes | No | |
| contactid | Text (256) | No | Yes | On Forms | |
| helpdesk | Relation | - | Yes | No | |
| startedtime | Date and Time | No | Yes | No | |
| contactfirstmessagetime | Date and Time | No | Yes | No |
Warning
The entire ulconversation table should be invisible
Table database name: helpdesk
| Field | Field type | Required | Read only | Invisible | Note |
|---|---|---|---|---|---|
| ulconversation | Relation | - | No | No |
Table database name: document
| Field | Field type | Required | Read only | Invisible | Note |
|---|---|---|---|---|---|
| ul_messageid | Text (256) | No | Yes | Yes | Used for media files import. |
Lime Web Components¶
Hijacks the create new conversation button to link a new conversation in Lime Connect to an existing limeobject.
Custom Endpoints¶
Lime Connect¶
POST¶
/userlike/
Creates a history note of the transcript and connects it to the created instance object.
Payload (for full example see the chat_session_end example here):
{
"id": 1,
"topics": [{ "text": "lead" }],
"contact": {
"name": "example",
"email": "example@lime.tech"
},
"transcript": [
{
"body": "Hello, you're talking to Lisa Abel. How can I help?",
"operator_name": "Lisa Abel"
},
{
"body": "hi",
"operator_name": ""
}
]
}
Response:
{ "url": "<URL_TO_INSTANCE_OBJECT>" }
Conversation¶
POST¶
/conversation/
Connect a conversation to a limeobject.
Query parameters:
{
"limetype": "helpdesk",
"limeobjectId": 1500,
"conversationId": "1000"
}
Response:
{
"limetype": "helpdesk",
"limeobjectId": 1500
}
Translations¶
GET¶
/translations/
Gets all translations for the limepkg-userlike package. Language is based on the Accept-Language header.
Portal¶
The Portal is a standalone Stencil frontend application served as an iframe inside the Lime Connect operator view. It communicates with the backend via the following endpoints. All portal endpoints are authenticated using JWT tokens and impersonate the userlike@lime API user.
Portal Client¶
GET¶
/limepkg-userlike/portal/client/
Serves the portal HTML page. This is the URL that should be configured as the iframe URL in the Lime Connect custom panel. The response includes a Content-Security-Policy header with frame-ancestors set to the configured portal_frame_ancestor.
Portal Data¶
GET¶
/limepkg-userlike/portal/client/data/
Returns CRM data for the contact. Requires an Authorization: Bearer <jwt> header.
Query parameters:
| Parameter | Description |
|---|---|
connect_payload |
A JSON string containing the Lime Connect contact information (id, name, email, etc.). |
Response (when a match is found):
{
"id": 1234,
"limetype": {
"name": "person",
"localname": "Person",
"icon_name": "user",
"color": "lime-green"
},
"descriptive": "Jane Doe",
"properties": [
{
"name": "email",
"label": "Email",
"type": "email",
"value": "jane.doe@example.com",
"text": "jane.doe@example.com",
"relation": null
},
...
],
"aggregations": [
{
"limetype": {
"name": "helpdesk",
"localname": "Helpdesk",
"icon_name": "headset",
"color": "lime-green"
},
"label": "Helpdesk",
"totalcount": 12,
"items": [
{
"id": 5001,
"text": "Cannot log in",
"secondary_text": "2025-12-01"
},
...
],
"filter": "a filter set"
}
]
}
Returns null if no matching CRM record is found.
Portal Translations¶
GET¶
/limepkg-userlike/portal/client/translations/
Returns portal-specific UI translations based on the application language.
Lime Connect¶
Please contact Lime Connect or see their documentation for technical information about Lime Connect from the Lime Connect point of view.