Overview
There are a number of AI features that can be implemented within SmartSimple including:
- +AI Directive: A multi-faceted feature that can be used in conjunction with natural language, scripts and the variable processor to perform many time-saving tasks such as analyzing text and automatically populating custom fields, summarizing and translating text, populating custom fields with internet-extracted data, converting text into other formats, comparing application requests with program objectives and providing a score, and much more.
- +AI Vision: Upload an image and have the AI answer specific questions regarding the image contents without having to open and examine the image yourself.
- Work with +AI: Interact with the AI at the record level in a conversational manner. Users have the option to use pre-made templates and prompt libraries to expedite common processes.
- +AI Transcription: Generate text transcriptions of audio and visual media.
Configuration
To activate the +AI feature within your system, please adhere to the following steps:
SmartSimple will enable the +AI feature in your environment by navigating to the Menu Icon > Global Settings > AI tab > Toggle on Enable +AI.
You will need to acquire a license from OpenAI. Alternatively, certain functionalities of +AI are available through Microsoft's Azure OpenAI service. A subscription license must be purchased to utilize Azure AI as a service provider in your system. Please note that trial versions of Azure subscriptions are not supported. For available pricing options, please visit openai.com or azure.microsoft.com.
To incorporate your license into an integration key, proceed to Menu Icon > Global Settings > Integrations tab > Integration Key Management > Add an integration key with the Type set to "OpenAI".
Note: Multiple OpenAI Integration Keys are not supported. Only one OpenAI Integration Key is permitted at any given time. If you wish to change providers in the future, you must delete the existing key.
Configuring Work with +AI
The Work with +AI feature supports a wide range of use cases at the record level, from summarizing applicant data to evaluating submission quality. Templates are configured at the UTA level and made available to end users through a curated prompt library.
To create a new template, navigate to Menu > Tracking Applications > [Edit] UTA Name > Level-1 tab > Work with +AI, then select + New Template. Both the Name and Caption fields are required. Once those are set, define the template's behavior in the Template field using natural language instructions combined with SmartSimple variable syntax.
The following examples illustrate two common configurations:
Example 1 — Owner's Organization Summary
Automatically generates a summary of the organization associated with the record owner.
| Field | Value |
|---|---|
| Name | AIOwnrOrgSmmry |
| Caption | Owner's Organization Summary |
| Template | Create a summary for the Organization "@owner.company@" |
Example 2 — Application Scoring
Evaluates submission quality against defined program criteria and returns a score.
| Field | Value |
|---|---|
| Name | AIScrSmmry |
| Caption | Score the Application |
| Template | Score the full application details found from "@SmartFields@", on a scale of 1–100 based on Clarity and Readability, Spelling, Completeness, and alignment with the requirements found from "@Description@" |
Configuring an Instant Application Summary
This configuration automatically generates an AI-written summary of a submitted application and stores it in a dedicated field, visible only to internal staff. It is designed to reduce manual review effort and surface key information at a glance.
Step 1: Create the custom field
Add a new Text Box – Text Multiple Lines custom field to your target UTA with the following settings:
-
Name:
txtAIAppSummary - Caption: AI-Generated Application Summary
- Permissions: Visible to internal staff only when the record status is Submitted (or equivalent)
- Label as AI-generated Content: Enabled
- SmartFields View: Set to Exclude
Step 2: Configure the workflow
Within an existing workflow that triggers on the Submitted status (ideally the same task used for QuickTags), add or update an Update Custom Field Value task named AIFieldUpdates with the following settings:
- Suppress Workflow Popup Window: Enabled
- Run Asynchronously: Enabled
- Update To Value:
<!--@ai(openai,chatgpt,)--> Provide an application summary from the following details: "@SmartFields@" <!--@aiend-->
Configuring QuickTags
QuickTags are AI-generated, comma-separated hashtags derived from application content. Once populated, they can be surfaced in list views to support fast filtering and categorization across your program's submissions.
Step 1: Create the custom field
Add a new Text Box – Text Multiple Lines custom field to your target UTA with the following settings:
-
Name:
txtAIHashtags - Caption: AI-Generated Hashtags
- Permissions: Visible to internal staff only when the record status is Submitted (or equivalent)
- Label as AI-generated Content: Enabled
- SmartFields View: Set to Exclude
Step 2: Configure the workflow
Within the same workflow and task used for the Instant Application Summary (AIFieldUpdates), configure the task with the following settings:
- Suppress Workflow Popup Window: Enabled
- Run Asynchronously: Enabled
- Update To Value:
<!--@ai(openai,chatgpt,)--> Generate a list of 5–10 comma-separated hashtags that best categorize the following content: "@SmartFields@" <!--@aiend-->
Step 3: Enable QuickTag searching in the list view
In the Default (or equivalent) list view for the associated Level-1 UTA, add the txtAIHashtags column. This allows staff to search and filter records by their AI-generated tags directly from the list view.
Frequently Asked Questions
Which AI vendor does SmartSimple utilize?
SmartSimple is adaptable and can integrate with various third-party AI vendors. Currently, our integration defaults to OpenAI's ChatGPT-4o model.
Is it possible to use our own fine-tuned model or a different model with OpenAI?
Yes, you may utilize your preferred custom model within the AI's automation mode by adjusting the opening syntax. For instance, if you wish to employ your own custom model with OpenAI, you can specify it in the syntax as follows:
<!--@ai(openai:mycompanymodel,chatgpt,2)-->Generate a description for a grant application for an after-school snack program<!--@aiend-->
Can we use a different vendor aside from OpenAI?
Should you wish to integrate with an alternative vendor, please contact our Platform Solutions team or your account manager for further information.
Can we utilize a different vendor with other SmartSimple +AI features?
Azure AI can be utilized with the variable processor, custom field creation, and +AI Directive. However, certain +AI features, including +AI Assistant and +AI Insights, are not compatible with Azure AI.
Azure AI can be referenced in the variable processor using the syntax example provided below. The "deployment name" is an optional parameter; if not specified, the model configured within the Integration Key Management settings will be employed by default.
<!--@ai(openai:deployment name,chatgpt,2)-->Instructions<!--@aiend-->
Who is accountable for the data utilized with the AI feature?
As with any third-party service accessible through SmartSimple, it is the responsibility of the data controller (client) to understand the implications of utilizing any data processor.
Utilizing +AI with the Variable Processor
Once the +AI integration has been established, automation mode can be employed in various areas of the system. The existing SmartSimple variable processor has been adapted to allow interaction with the third-party AI vendor. To familiarize yourself with the syntax and potential statements, you may test the syntax using the Variable Syntax Helper by opening an object record and navigating to Tools > Configuration Mode > Variable Syntax Helper.
Note: In the @ai() function call, it is imperative that no spaces exist between parameters and commas.
OpenAI Syntax
The syntax utilized for prompts in web page views and workflows is as follows:
<!--@ai(openai:AI Model,chatgpt,temperature)-->Instructions<!--@aiend-->
The parameters are defined as follows:
- AI model: (Optional) The designation of the AI model being utilized by the service. If the service is OpenAI and the model is not specified, ChatGPT-4o will be employed by default.
- temperature: Establishes the desired level of randomness in the generated text, where a value of "0" is the most conservative and a value of "9" is the most random.
- instruction: The natural language prompt for the AI. For example, "correct the spelling: how are you today?" or "Translate the following into Japanese: hello, world!".
| Example Scenario | Syntax |
|---|---|
| Request AI to compose an email for a specific user | <!--@ai(openai:gpt-4-0163,chatgpt,5)--> Write @firstname@ @lastname@ an email rejecting their grant application because there is no more funding for applicants in Toronto <!--@aiend--> |
| Request AI to correct the spelling of a message | <!--@ai(openai:gpt-4-0163,chatgpt,2)--> Correct all spelling errors within the following content: @txtApplicationContent@ <!--@aiend--> |
| Request AI to generate an application summary | <!--@ai(openai:gpt-4-0163,chatgpt,2)--> Generate an application summary for the following content: @txtApplicationContent@ <!--@aiend--> |
| Request AI to format a date field | <!--@ai(openai:gpt-4-0163,chatgpt,2)--> Format the following date to read as 'YYYY-mm-dd': @dateField@ <!--@aiend--> |
Azure AI
Azure AI can be utilized with the variable processor, custom field creation, and +AI Directive. However, certain +AI features, such as +AI Assistant and +AI Insights, are not compatible with Azure AI.
Syntax
When utilizing Azure AI, the syntax employed within the variable processor is as follows:
<!--@ai(openai:deployment name,chatgpt,temperature)-->Instructions<!--@aiend-->
The parameters are defined as follows:
- deployment name: (Optional) The deployment name of the Azure model in use. If the deployment name is not specified, the model configured within the Integration Key Management settings will be utilized by default.
- temperature: Establishes the desired level of randomness in the generated text, where a value of "0" is the most conservative and a value of "9" is the most random.
- instruction: The natural language prompt for the AI. For example, "correct the spelling: how are you today?" or "Translate the following into Japanese: hello, world!".
Work with +AI
The Work with +AI feature, also referred to as "Interactive Mode," serves various purposes, including:
- Facilitating interaction with the AI at the record level in a conversational format utilizing natural language.
- Offering pre-configured templates and prompt libraries for end-users to standardize and expedite the processing of record data for frequently performed tasks.
Note: An OpenAI license is required to access AI features on SmartSimple. Furthermore, only a Global Administrator can enable this feature. For further details regarding billing and implementation, please contact your account manager or sales@smartsimple.com.
Configuration
Work with +AI can be activated on any record within your SmartSimple Cloud system, encompassing organization profiles, user profiles, and UTA records. Users can engage with the AI through a conversational call-and-response format — requesting assistance with rewriting, translating, or condensing content, posing follow-up questions, and selecting from predefined templates to facilitate common tasks.
Configuring Interactive Mode
- Navigate to UTA > Configuration Settings > Level 1/2/3 tab > Work with +AI. On this page, custom instructions and templates can be established.
- The instruction text will be visible to users who utilize the Work with +AI feature on a specific record. Clicking the Sample Instructions link will automatically populate the field with default instructions.
- In the Permissions & Availability tab, set access to the feature based on role, record type, or record status, then click Save.
Utilizing Interactive Mode
- Access the desired UTA record and select Tools > Work with +AI from the action bar at the top.
- This will open a modal window where you may input your prompts and modify the Temperature setting.
Creating a Template
- Navigate to UTA > Configuration Settings > Level 1/2/3 tab > AI > click New Template.
- Under the General tab, assign a Name and a Caption to the template. The Caption will be displayed to users during the template selection process.
- Input the contents of the template in the Template field. When referencing specific record fields, ensure that you utilize the Field Name rather than the Caption.
- Specify who is authorized to utilize this template under the Permissions & Availability tab.
- Click Save.
Selecting a Template Prompt
- Navigate to the desired UTA record > Tools > Work with +AI.
- Select the preferred template prompt from the list.
- Set the desired Temperature. This setting governs the level of randomness in the AI's response, with a lower value resulting in a more consistent and repeatable response.
- Click Send. After a brief moment, the AI will respond to the request.
Best Practices for Template Prompts
When determining which prompts to incorporate into a template, it may be beneficial to test your variables by accessing any UTA record and selecting Tools > Configuration Mode > Variable Syntax Helper. Here, you can test your expressions and verify that your variables resolve correctly.
Some recommended best practices for prompt engineering according to OpenAI are:
- Place the instructions at the beginning of the prompt and use double quotation marks ( " " ) to delineate the instructions from the context.
- Be specific and descriptive regarding the desired outcome, including details about context, length, format, style, etc.
- If necessary, provide an example or desired format within the prompt.
Accessing AI Chat Log
Following the logging of several sessions with the AI, you may wish to access a previous chat log. To do so, navigate to the relevant record and click Logs > AI Chat History in the action bar at the top. This will display a list of prior chat sessions organized by date and time. Click the View button for any chat session you wish to examine in detail.