SmartIQ Data Source
The SmartIQ Data Source allows access to internal data contained within the SmartIQ system instance such as Users, Projects, Logs and in Progress workflows. Data retrieved from the SmartIQ data source is often used on dashboards targeted towards specific users, reports or within a workflow.
Connector Set-Up
A connection string is not required for this data source type as this is already known to the system.
Data Object Types
For the Analytics data objects see Analytics
Custom Table data object
Custom Table Data Objects require a license module. Please contact your account representative if you require one.
An SmartIQ 'custom table' data connection provides a place to store data where an appropriate source does not exist already. It requires you to specify a collection of fields for which records (often called rows) can be sourced and maintained. Each individual field requires a name and type (text, date, number, etc.) and can be encrypted (see below for more information about encryption).
Adding, editing and deleting records occurs either during an SmartIQ form via a specific User Interface (known as a data modal) or in the background after a form submission. A counter will display the number of records active and pending delete. For example if the custom data object was to store customer data, users could create them during a partially completed form via a user-interface (known as a data modal) or they could be created on their behalf without them knowing after a form submission.
A grid will display where fields can be added, use the new field button to add fields.
Type | Description |
---|---|
Text | Normal Text. Can be used to store HTML text. Unlimited length. |
Date | Normal Date between January 1, 1753 to December 31, 9999. |
Numeric | Any number integer or decimal. Currency symbols will be ignored. |
File | A place to store binary data, usually from some sort of file upload. Note the File type actually creates a second field in the background to save a filename for the data. |
True/False | A type to store yes/no, on/off values, often referred to as a Boolean. |
Field Maintenance
As targeted data structures are created upon save a field type and the encryption setting cannot be changed after the initial save.
Encrypt option
A field's encryption setting controls how data is stored in the database, it has nothing to do with how it is seen by SmartIQ users as it is decrypted automatically by SmartIQ. The use of the setting will depend on the organization's security policy.
Custom data objects can not filtered data on encrypted fields.
Use Encryption and PII data
If there is any chance that PII or sensitive data may be stored in a column configured using the Custom Data Objects feature it is recommended that the encryption option be checked as on. Examples of PII or sensitive data include but are not limited to for names, date of birth, email addresses, phone numbers, street addresses etc.
Encryption Performance
Whilst encryption is invisible to End Users and Administrators alike there is a performance impact when saving and loading encrypted data, especially for large data sets.
External ownership of Custom Data Objects available to SQL Server and PostgreSql databases
Custom data objects can now be maintained in a database external to the SmartIQ cloud architecture, transferring responsibility of data to appropriate stakeholders. The implementation of the feature is done via the SmartIQ, Sql Server and Postgres data connectors via Custom Table data object.
Regardless of the type of data connection (SmartIQ, postgres or sql server) the feature creates a table in the source and maintains its records. For more information on maintaining records see Writable Data Objects.
For Sql Server and PostgreSql databases (i.e. databases managed externally to the SmartIQ cloud) note the following:
- The user provided in the connection string must have permissions to create tables/columns
- The default schema for the aforementioned user will be used for table creation
- Tables are named randomly by the smartIQ application
- Each custom table has a created/updated date for each record
- Deletion is a soft delete approach whereby if an individual record is delted the only change to the record is its datedeleted column is populated
- The created/updated and deleted columns are for dba's only and do not make their way back to the application
- Where columns in the database are set as encrypted the data is impossible to decrypt without the smartIQ application
User Available Forms
Returns all forms accessible for the current user typically used for launching a new form from a Dashboard.
Current User Data
Data Returned by the data object is specific to the logged in user.
Field | Description |
---|---|
DisplayName | Project Display Name. |
FeatureFlags | Keeps track of the features being used in the project as a bit flag sum None = 0, WorkflowGeneral = 1, DataSource = 2, ContentLibraryExistingItem = 4, ContentLibrarySearch = 8, Address = 16, RichText = 64, Custom = 128, Fragments = 512 |
FolderName | Folder Display Name |
LastLaunchUtc | Last execution of this project in Coordinated Universal Time (UTC) |
LogGuid | The ID of the current session of this form in guid form |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination) |
ProjectHelpText | Help text included in "Publish Options" in Manage under Messages option. |
ProjectType | Form Dashboard Fragment Page Fragment Portion Layout |
ShowInWebHome | Indicates if the Published Project should be displayed in the web version of Produce |
ShowinAppHome | Indicates if the Published Project should be displayed in the offline app version of Produce |
IsInMaintenanceMode | Indicates if the Published Project currently in Maintenance Mode |
UserGuid | The ID of the Current User in guid form |
User Assigned Tasks
All in progress forms for the logged in user as well as any group tasks locked to the user. Similar to the forms "Forms Assigned to Me" section on the Produce Home page
Current User Data
Data Returned by the data object is specific to the logged in user.
Field | Description |
---|---|
AllowCancellation | Indicates if the user has permission to cancel this task |
AllowReassign | Indicates if the user has permission to reassign this task |
AllowUnlock | Indicates if the user has permission to unlock this task if it is locked to another user |
AnswerFileID | The ID of any saved in progress Answer File for this user as an integer |
AssignedBy | The username of the user who assigned this task to the current user. |
AssignedByName | The name of the user who assigned this task to the current user. |
AssignedByPicture | The profile picture of the user who assigned this task to the current user. |
AssignedGroupName | The name of the group this task was assigned from |
AssignedGuid | The ID of the user to whom this task is assigned in guid form |
AssignedType | Whether this task is assigned to a "User" or a "Group" |
Comment | Any comment entered when a Save In Progress answer file was created. |
DateCreatedUtc | The date this task was created in Coordinated Universal Time (UTC) |
DateDueUtc | The date this task is due (if it has a due date) in Coordinated Universal Time (UTC) |
DisplayName | The name of the current task |
HasDueDate | Whether the task has a due date or not |
InProgress | Indicates whether the current task is in progress or complete |
IsLockedBySomeoneElse | Whether the task is locked by a user who is not the current user |
LockedByUser | The ID of the user who has this task locked in guid form (this may be the current user) |
LockedByPicture | The profile picture of the user this task is currently locked by |
LockedByName | The name of the user who the task is currently locked by |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination) |
ProjectName | The name of the current project |
RunID | A Guid identifier representing then entire workflow start to finish. |
StateGuid | If this is a workflow task this is the ID of the current state in guid form |
StateName | If this is a workflow task, this is the name of the current state |
TaskListStateId | If this is a workflow task, this is the ID for the submission of the current step, in guid form |
UserGuid | The ID in Guid form of the Current User |
(Custom Response Metadata Fields) | As configured by SmartIQ administrators. |
Mobile apps allow the following operations in dashboards
Name | Description |
---|---|
Delete | Tasks for which the user has delete permissions will have a delete option. This option will also be available to current users with answer files in progress. |
Unlock | Group tasks which are locked by the current user will have an unlock option on the pull-down. |
Claim | Group tasks which are not claimed by any user can be claimed by clicking on the link for that particular task. |
Offline Operations
Unlock and Claim operations can only be used when the mobile app is online. If the app is offline a message will appear to indicate these actions cannot be taken.
User Group Tasks
All in progress forms for this user's group - replicates Produce "Forms Assigned to my Groups"
Current User Data
Data Returned by the data object is specific to the logged in user.
Field | Description |
---|---|
AllowCancellation | Indicates if the user has permission to cancel this task |
AllowReassign | Indicates if the user has permission to reassign this task |
AllowUnlock | Indicates if the user has permission to unlock this task if it is locked to another user |
AnswerFileID | The ID of any saved in progress Answer File for this user as an integer |
AssignedBy | The username of the user who assigned this task to the current user. |
AssignedByName | The name of the user who assigned this task to the current user. |
AssignedByGroupName | The name of the group this task was assigned from |
AssignedGuid | The ID of the user to whom this task is assigned in guid form |
AssignedType | Whether this task is assigned to a "User" or a "Group" |
Comment | Any comment entered when a Save In Progress answer file was created. |
DateCreatedUtc | The date this task was created in Coordinated Universal Time (UTC) |
DateDueUtc | The date this task is due (if it has a due date) in Coordinated Universal Time (UTC) |
DisplayName | The name of the current task |
HasDueDate | Whether the task has a due date or not |
InProgress | Indicates whether the current task is in progress or complete |
IsLockedBySomeoneElse | Whether the task is locked by a user who is not the current user |
LockedByUser | The ID of the user who has this task locked in guid form (this may be the current user) |
LockedByPicture | The profile picture of the user this task is currently locked by |
LockedByName | The name of the user who the task is currently locked by |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination) |
ProjectName | The name of the current project |
RunID | A Guid identifier representing then entire workflow start to finish. |
StateGuid | If this is a workflow task this is the ID of the current state in guid form |
StateName | If this is a workflow task, this is the name of the current state |
TaskListStateId | If this is a workflow task, this is the ID for the submission of the current step, in guid form |
UserGuid | The ID in Guid form of the Current User |
(Custom Response Metadata Fields) | As configured by SmartIQ administrators. |
Mobile apps allow the following operations in dashboards
Name | Description |
---|---|
Delete | Tasks for which the user has delete permissions will have a delete option. This option will also be available to current users with answer files in progress. |
Unlock | Group tasks which are locked by the current user will have an unlock option on the pull-down. |
Claim | Group tasks which are not claimed by any user can be claimed by clicking on the link for that particular task. |
Offline Operations
Unlock and Claim operations can only be used when the mobile app is online. If the app is offline a message will appear to indicate these actions cannot be taken.
User Assigned and Group Tasks
all in progress forms for this user and this user's groups and any saved answer forms for this user - replicates Produce "Forms Assigned to Me" and "Forms Assigned to my Groups" combined.
This is a combined set of the results from User Group Tasks and User Assigned Tasks and has exactly the same fields as this two sets of results - see above.
Current User Data
Data Returned by the data object is specific to the logged in user.
Field | Description |
---|---|
AllowCancellation | Indicates if the user has permission to cancel this task |
AllowReassign | Indicates if the user has permission to reassign this task |
AllowUnlock | Indicates if the user has permission to unlock this task if it is locked to another user |
AnswerFileID | The ID of any saved in progress Answer File for this user as an integer |
AssignedBy | The username of the user who assigned this task to the current user. |
AssignedByName | The name of the user who assigned this task to the current user. |
AssignedByPicture | The profile picture of the user who assigned this task to the current user. |
AssignedGroupName | The name of the group this task was assigned from |
AssignedGuid | The ID of the user to whom this task is assigned in guid form |
AssignedType | Whether this task is assigned to a "User" or a "Group" |
Comment | Any comment entered when a Save In Progress answer file was created. |
DateCreatedUtc | The date this task was created in Coordinated Universal Time (UTC) |
DateDueUtc | The date this task is due (if it has a due date) in Coordinated Universal Time (UTC) |
DisplayName | The name of the current task |
HasDueDate | Whether the task has a due date or not |
InProgress | Indicates whether the current task is in progress or complete |
IsLockedBySomeoneElse | Whether the task is locked by a user who is not the current user |
LockedByUser | The ID of the user who has this task locked in guid form (this may be the current user) |
LockedByName | The name of the user who the task is currently locked by |
LockedByPicture | The profile picture of the user this task is currently locked by |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination) |
ProjectName | The name of the current project |
RunID | A Guid identifier representing then entire workflow start to finish. |
StateGuid | If this is a workflow task this is the ID of the current state in guid form |
StateName | If this is a workflow task, this is the name of the current state |
TaskListStateId | If this is a workflow task, this is the ID for the submission of the current step, in guid form |
UserGuid | The ID in Guid form of the Current User |
(Custom Response Metadata Fields) | As configured by SmartIQ administrators. |
Mobile apps allow the following operations in dashboards
Name | Description |
---|---|
Delete | Tasks for which the user has delete permissions will have a delete option. This option will also be available to current users with answer files in progress. |
Unlock | Group tasks which are locked by the current user will have an unlock option on the pull-down. |
Claim | Group tasks which are not claimed by any user can be claimed by clicking on the link for that particular task. |
Offline Operations
Unlock and Claim operations can only be used when the mobile app is online. If the app is offline a message will appear to indicate these actions cannot be taken.
User Assigned and Group Approvals
Users can be flagged as approvers for many forms at any time. The approval can be assigned either directly to an individual user or a group where any member of the group can approve (or reject) the task. Three data objects present lists of pending approvals for the logged in user for presentation on a dashboard or form.
User Assigned Approvals – A list of approvals assigned directly to the user, these are often prioritised as no one else can action them
User Group Approvals – A list of approvals assigned to a group to which the current user is a member of
User Assigned and Group Approvals – A combination of the above where it is not necessary to separate the role in the approval.
User Assigned and Group Observer Tasks
All in progress forms that the current user can observe assigned either directly to the user or to a user group.
For a sample project that sets either a user or group as an observer, download this project. For a sample dashboard project that displays the resulting data from User Assigned and Group Observer Tasks, download this project.
This is a combined set of the results from User Assigned Observer Tasks and User Group Observer Tasks and has exactly the same fields.
Field | Description |
---|---|
AllowUnlock | Indicates if the user has permission to unlock this task if it is locked to another user. |
AssignedBy | The username of the user who assigned this task to the current user. |
AssignedByGuid | The ID of the user who assigned this task to the current user in guid form. |
AssignedByName | The name of the user who assigned this task to the current user. |
AssignedByPicture | The picture of the user who assigned this task to the current user. |
AssignedTo | The username of the user or group this task state is assigned to. |
AssignedToGuid | The ID of the user this task state was assigned to in guid form. |
AssignedToName | The username of the user or group this task state was assigned to. |
AssignedToPicture | The profile picture of the user this task state was assigned to. |
AssignedType | Whether this task is assigned to a "User" or a "Group". |
Comment | Any comment entered when a Save In Progress answer file was created. |
DateCreatedUtc | The date this task was created in Coordinated Universal Time (UTC). |
DateDueUtc | The date this task is due (if it has a due date) in Coordinated Universal Time (UTC). |
DateUpdatedUtc | The date this task was updated in Coordinated Universal Time (UTC). |
DisplayName | The name of the current task. |
HasDueDate | Whether the task has a due date or not. |
ObserverGroupName | The group name of the observer this task was assigned to. |
ObserverGuid | The ID of the observer this task was assigned to, in guid form. |
ObserverPicture | The profile picture of the observer this task was assigned to. |
ObserverType | The type of observer this task was assigned to. |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination). |
ProjectName | The name of the current project. |
RunID | A guid identifier representing then entire workflow start to finish. |
Saved Sequence | Sequence number for the workflow task. |
StateGuid | If this is a workflow task this is the ID of the current state in guid form. |
StateName | If this is a workflow task, this is the name of the current state. |
TaskListStateId | If this is a workflow task, this is the ID for the submission of the current step, in guid form. |
UserGuid | The ID of the current user in guid form. |
User Form Activity
All form activity relevant to this user (assigned to the user, assigned by the user or locked by the user) - replicates Produce "Form Activity"
Field | Description |
---|---|
AllowReassign | Indicates if the user has permission to reassign this task |
AssignedByName | The name of the user who assigned this task to the current user. |
AssignedByUserName | The username of the user who assigned this task to the current user. |
AssignedGuid | The ID of the user to whom this task is assigned in guid form |
AssignedToGroupName | If this task is assigned to a Group, the name of the group assigned to |
AssignedToName | The name of the user to whom this task is assigned |
AssignedToUserName | The username of the user to whom this task is assigned |
AssignedType | Whether this task is assigned to a "User" or a "Group" |
CreatedByName | The name of the user who created this task |
CreatedByUserName | The username of the user who created this task |
DisplayName | The name of this task |
LastUpdatedUtc | The time this task was last updated in Coordinated Universal Time (UTC) |
LockedByName | The name of the user this task is currently locked by |
LockedByUser | The of the user this task is currently locked by in guid form |
LockedByUserName | The user of the user this task is currently locked by |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination) |
StateName | If this is a workflow task, this is the name of the current state |
TaskListId | If this is a workflow task, this is the ID for the complete current workflow, in guid form |
TaskListStateId | If this is a workflow task, this is the ID for the submission of the current step, in guid form |
UserGuid | The ID of the Current User in guid form |
Workflow Metadata
Workflow metadata is now included in User Form Activity. These metadata fields are now available for filtering and display. A new Custom Field would need to be created under response metadata before this feature can be used.
The value for each metadata field would be the latest value as historical metadata values are not retained.
User Answer Files
All answer files created by this user - replicates Produce "Answer Files"
Current User
Data returned by the data object is specific to the logged in user and only accessible by the user who generated the answer file.
Best Practice
Saved answer files are only useful for a user to repopulate the same version of a project when they are completing it a second time. Using saved answer files on projects that have been modified (different questions, new questions, different conditions, etc) can cause unexpected results and may cause the new project to not load.
Field | Description |
---|---|
DisplayName | The name of the project |
FeatureFlags | Keeps track of the features being used in the project as a bit flag sum None = 0, WorkflowGeneral = 1, DataSource = 2, ContentLibraryExistingItem = 4, ContentLibrarySearch = 8, Address = 16, RichText = 64, Custom = 128, Fragments = 512 |
FolderName | The name of the publish folder this project is located in |
LastLaunchUtc | Last execution of this project in Coordinated Universal Time (UTC) |
LogGuid | The ID of the current session of this form in guid form |
ProjectGroupGuid | The ID of the published version of this project in guid form (if the project is published in different folders it will have a different ID for each folder/project combination) |
ProjectHelpText | Help text included in "Publish Options" in Manage under Messages option. |
ProjectType | Form Dashboard Fragment Page Fragment Portion Layout |
UserGuid | The ID in Guid form of the Current User |
User Documents
All documents generated by user documents, replicates Produce "Documents"
Current User
Data Returned by the data object is specific to the logged in user.
Name | Description |
---|---|
DateCreated | The date this document was created in Coordinated Universal Time (UTC) |
DisplayName | The name of this document |
DocumentId | The ID of this document as an integer |
DocumentName | The full name of this document including extension |
Extension | The extension of this document |
JobId | The ID of the generation job that created this document. |
ProjectDocumentGuid | The ID of the document template used to create this document, in guid form |
ProjectName | The name of the project this document was created by |
UserGuid | The ID of the Current User, in guid form |
System Users
All SmartIQ users and their profile data, including any custom user profile fields that are present.
Field | Description |
---|---|
Username | |
User_Guid | Unique user identifier |
Full_Name | Concatenation of title, first and last name. Fallback is username. |
Fax_Number, Email_Address,First_Name, Last_Name, Organisation_Name, Phone_Number, Salutation_Name, Title | Various address user profile data. |
Street_Address_1, Street_Address_2, Street_Address_Country, Street_Address_Postcode, Street_Address_State, Street_Address_Suburb | Street Address Fields |
Postal Address | (as per street address) |
(Custom Fields) | As per environment configuration. |
System Group Memberships
Each user group membership can be filtered to identify which users a members of a group or which groups a user belongs to.
Field | Description |
---|---|
Username | Username |
User_Guid | Unique identifier for the user |
FullName | Concatenation of Title, First Name and last Name c |
Email_Address, First_Name, Last_Name, Phone_Number, Prefix | Various User profile fields |
Group_Guid | Unique identifier for the group the user is a member of |
GroupName | name of the group the user is a member of |
System Projects
All published projects
Field | Description |
---|---|
Modified_By | The ID of the user who last modified this project in guid form |
Modified_Date | The date this project was last modified in Coordinated Universal Time (UTC) |
Name | The name of the project |
Project_Guid | The ID of the project in guid form |
Project_Type | Form Dashboard Fragment Page Fragment Portion Layout |
Published_Project_Guid | The ID of the published version of this project in guid form (if the project is published in different folders it will have a different ID for each folder/project combination) |
System In Progress Tasks
All currently in progress workflows forms for all users. Useful for open and outstanding tasks and workflows.
Field | Description |
---|---|
AllowCancellation | Indicates if the assigned user has permission to cancel this task |
AllowReassign | Indicates if the assigned user has permission to reassign this task |
ApprovedBy | The names of the users who have already approved this Approval task |
AssignedBy | The username of the user who assigned this task to the current user. |
AssignedByEmail | The email of the user who assigned this task to the current user. |
AssignedByGuid | The ID of the user who assigned this task to the current user, in guid form |
AssignedByName | The name of the user who assigned this task to the current user. |
AssignedGuid | The ID of the user or group to whom this task is assigned in guid form |
AssignedTo | The username of the user or group to whom this task is assigned |
AssignedToEmail | The email of the user or group to whom this task is assigned |
AssignedToName | The name of the user or group to whom this task is assigned |
AssignedType | Whether this task is assigned to a "User" or a "Group" |
Comment | Any comment entered when a Save In Progress answer file was created. |
DateCreatedUtc | The date this task was created in Coordinated Universal Time (UTC) |
DateDueUtc | The date this task is due (if it has a due date) in Coordinated Universal Time (UTC) |
DisplayName | The name of the current task |
HasDueDate | Whether the task has a due date assigned or not |
LockedByUser | The ID of the user who has this task locked in guid form (this may be the current user) |
LockedBy | The username of the user who has this task locked |
LockedByName | The name of the user who the task is currently locked by |
ProjectGroupGuid | The ID of the published version of this project in guid form(if the project is published in different folders it will have a different ID for each folder/project combination) |
ProjectGuid | The ID of the project in guid form |
ProjectName | The name of the current project |
Required | Progressive list of approvers or groups still required to approve before this task can be complete. E.g 0/1 Finance Team |
RunID | A Guid identifier representing then entire workflow start to finish. |
StateGuid | If this is a workflow task or approval this is the ID of the current state in guid form |
StateName | If this is a workflow task or approval, this is the name of the current state |
TaskListStateId | If this is a workflow task or approval, this is the ID for the submission of the current step, in guid form |
(Custom Response Metadata Fields) | As configured by SmartIQ administrators. |
Form Task History
The history of the current workflow task. Must be used within a workflow task. Useful for displaying the history of the current task including who has interacted with it and when.
Current Workflow
Data Returned by this data object is specific to the current workflow task.
Field | Description |
---|---|
ActionListId | The ID for the complete current workflow task in guid form |
ActionListStateId | The ID of the current state of the current workflow task |
AssignedBy | The username of the user who assigned this task to the assigned user |
AssignedByFullName | The full name of the user who assigned this task to the assigned user |
AssignedGroupName | The name of the group this task is assigned to, if it is assigned to a group rather than a user |
AssignedTo | The username of the user or group this task state is assigned to |
AssignedToFullName | The full name of the user or group this task state was assigned to |
AssignedToGroupGuid | The ID of the group this task state was assigned to in guid form, if the task state was assigned to a group |
AssignedToUserGuid | The ID of the user this task state was assigned to in guid form, if the task state was assigned to a user |
Comment | Any comments left by the previous user who assigned this task state to the assigned user |
DateCreatedUtc | The date this state was created in Coordinated Universal Time (UTC) |
DateUpdatedUtc | The date this state was last updated in Coordinated Universal Time (UTC) |
IsComplete | Indicates whether the current state is complete or still in progress |
IsCurrentTask | True in the current task record, False in the others. |
StateName | The name of the current state for this task |
SubmittedByGuid | The ID of the user this state of the task was submitted by in guid form |
SubmittedByName | The name of the user this state of the task was submitted by |
Workflow Metadata
Workflow metadata is included in Form Task History. These metadata fields are available for filtering and display. A new Custom Field would need to be created under response metadata before this feature can be used.
The value for each metadata field would be the latest value as historical metadata values are not retained.
Client and Admin API Endpoints
In addition to the inbuilt data objects, the "Direct Client API Request" and "Direct Admin API Request" data object types can be used to expose the Client (Produce) and Admin (Manage) API endpoints respectively. Authentication is handled transparently, using the credentials of the logged-in user to call the endpoints.
Definition
An API data object can be created by selecting the "Direct Client API Request" or "Direct Admin API Request" data object type for a new data object. The available endpoints can be viewed (and selected) by typing a "/" into the Data Object Definition field. Once an endpoint is selected and the data object is saved, the appropriate filter and display fields are populated automatically for the selected endpoint.
Updated 17 days ago