();
lightico.TickboxDocument tb = new lightico.TickboxDocument();
tb.name = 'Sales Disclaimer';
tb.templateId = 'f10af005-xxxx-4582-949f-8bb8ad5ad5be'; //tickbox document id
tb.url = 'https://[static_url]';
tb.confirmationMessageText = 'confirm text';
tb.forceScrollDown = true;
request.documents.tickboxDocuments.Add(tb);
lightico.WorkflowInvoker lw = new lightico.WorkflowInvoker();
String workflowId = lw.AddWorkflowToSession(request,res.sessionId);
```
## Add a PDF Template to a session
Action name: `AddEsignToSession`
Add a PDF Template to an existing session.
### Input parameters
Input class name: AddEsignToSessionWrapper
| Parameter | Type | Description |
| --- | --- | --- |
| `sessionId` | string | Identifies an existing session |
| `esignTemplateId` | string | Identifies the document template. This ID # is found at the top left when the document template is opened in the PDF editor. |
### Response
Response class name: AddEsignToSessionResponse
| Parameter | Type | Description |
| --- | --- | --- |
| `esignId` | string | Identifies a specific eSign document within a session |
| `statusCode` | integer | Response code, e.g. 200, 400 |
| `responseBody` | string | Response message, e.g. OK, Error |
## Add an External Document to a session
Action name: `AddEsign`
- Add an External Document to an existing session.
- The parameters in this action use tags to position signature, initials and signature date fields in the final PDF.
### Input parameters
Input class name: AddEsignWrapper
| Parameter | Type | Description |
| --- | --- | --- |
| `documentId` | string | Identifies a Salesforce document that you are adding to the session |
| `sessionId` | string | Identifies an existing session |
| `signatureTag` | string | Identifies the signature field position |
| `initialsTag` | string | Identifies the initials field position |
| `signatureDateTag` | string | Identifies the signature date field position |
| `fileName` | string | Name that you give to the eSign for this session. This is the name that will appear in the customer UI instead of the file name of the eSign. |
| `role` | string | Defines the role of the customer: `signer` = provides a signature, `approver` = approves by clicking a button |
### Response
Response class name: AddEsignResponse
| Parameter | Type | Description |
| --- | --- | --- |
| `esignId` | string | Identifies a specific eSign document within a session |
## Add a text message to a session
Action name: `AddTextMessage`
Send a text message to the customer UI in a session. The text appears in the chat field of the collaboration UI.
### Input parameters
Input class name: AddTextMessageWrapper
| Parameter | Type | Description |
| --- | --- | --- |
| `sessionId` | string | Identifies the session to which you are adding this action |
| `textMessage` | string | Text of the message you are sending. Example: `Do you need help reviewing the document?` |
### Response
Response class name: AddTextMessageResponse
Type: Boolean
Description: true= message sent, false= message was not sent
## Generate a document from a Lightico template
Action Name: `GenerateDocumentByTemplate`
Generates a PDF document based on a Lightico template and attributes mapped to Salesforce.
### Input parameters
Input class name: DocumentGenerationData
| Parameter | Type | Description |
| --- | --- | --- |
| recordId | string | ID # of Salesforce record from which to draw the attributes. In addition, the generated PDF is saved in the Notes and Attachments section of the record. |
| templateId | string | Identifies the document template. This ID # is found at the top left when the document template is opened in the PDF editor. |
| hubName | string, optonal | Custom hub name for filtering events |
### Response
Type: Boolean Description: `true`= success, `false`= failure
### Code example
```plaintext
Lightico_GlobalMethods lg = new Lightico_GlobalMethods();
Lightico_GlobalMethods.DocumentGenerationData data = new Lightico_GlobalMethods.DocumentGenerationData();
data.recordId = '0030b00002RounDAAR';
data.templateId = 'c8552241-f718-4ad7-8c58-e0b8323c35c3';
boolean res = lg.GenerateDocuemntByTemplate(data);
system.debug(res);
```
---
## Legacy actions
### Create a new session with an ad hoc eSign
**Action name:** `CreateSessionWithEsign`
- Creates a new session that can include an ad hoc eSign document.
- The parameters in this action use tags to postition signature, initials and signature date fields in the final PDF.
**Input parameters**
Input class name: CreateSessionWithEsignWrapper
| Parameter | Type | Description |
| --- | --- | --- |
| `userName` | string | Lightico username of the agent associated with this session |
| `lookUpField` | string | Name of the field that links the session object with another object |
| `signatureTag` | string | Identifies the signature field position |
| `initialsTag` | string | Identifies the initials field position |
| `signatureDateTag` | string | Identifies the signature date field position |
| `fileName` | string | Name that you give to the eSign for this session. This is the name that will appear in the customer UI instead of the file name of the eSign. |
| `role` | string | Defines the role of the customer: `signer` = provides a signature, `approver` = approves by clicking a button |
| `recordId` | string | Identifies the record from which the session will originate. |
| `chatActive` | Boolean | `true` = customer chat enabled, `false` = customer chat disabled - customer cannot send text message to agent |
| `customerName` | string | Name of customer that is used in the session |
| `sessionId` | string | Create an ID for this session instead of the default sessionId created by Lightico |
| `saveInAttachments` | Boolean | Save assets from this session in a generic object called "Attachments" instead of saving the assets in the Lightico files object |
| | **Note:** | You must include `customerPhoneNumber` and/or `customerEmail`. |
| `customerPhoneNumber` | string | Customer's phone number for sending the SMS session invitation |
| `customerEmail` | string | Customer's email address for sending the session invitation |
| `sendNow` | Boolean | `true` = send a session invitation to the client upon creation of the session, `false` = do not send invitation |
| `documentId` | string | Identifies a Salesforce document that you are adding to the session |
| `hubName` | string, optonal | Name of the Lightico document storage integration hub - the final document will be saved here |
**Response**
Response class name: CreateSessionWithEsignResponse
| Parameter | Type | Description |
| --- | --- | --- |
| `sessionId` | string | Identifies a Lightico session |
| `customerURL` | string | Opens the customer collaboration UI |
| `esignId` | string | Identifies a specific eSign document within a session |
| `runTime` | integer | Time in took for this action to be implemented in miliseconds |
A user that communicates with end-customers to complete tasks in a Collaboration Room session or a Case Manager case.
Each user is associated with a team. A team defines unique settings that affect how a Collaboration Room session functions and what cases are available in Case Manager.
A PDF document that has been enhanced with interactive fields so that it can be completed by a customer in a session.
A series of customer interactions that must be completed in a certain order. Workflows are configured by a business configurator (BC) and added to the session by an agent or API.
Documents created entirely in the Lightico UI, displayed as dynamic HTML and converted to PDF after signing or approval.
Used as part of a Workflow when you want customers to indicate that they have read some text by selecting a checkbox.
Area of the Lightico platform where you will find all settings, user management, and asset configuration pages. Access to this area is defined by a user's role and permissions.
A PDF document that is uploaded to a session from a source other than Lightico, for example, from the agent’s computer.