HomeGuidesRecipesAPI
HomeGuidesAPILog In

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. A connection string is not required for this data source type as this is already known.

Data retrieved from the SmartIQ data source is often used on dashboards targeted towards specific users, reports or within a workflow.

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.

TypeDescription
TextNormal Text. Can be used to store HTML text. Unlimited length.
DateNormal Date between January 1, 1753 to December 31, 9999.
NumericAny number integer or decimal. Currency symbols will be ignored.
FileA 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/FalseA 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.

FieldDescription
DisplayNameProject Display Name.
FeatureFlagsKeeps 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
FolderNameFolder Display Name
LastLaunchUtcLast execution of this project in Coordinated Universal Time (UTC)
LogGuidThe ID of the current session of this form in guid form
ProjectGroupGuidThe 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)
ProjectHelpTextHelp text included in "Publish Options" in Manage under Messages option.
ProjectTypeForm
Dashboard
Fragment Page
Fragment Portion
Layout
ShowInWebHomeIndicates if the Published Project should be displayed in the web version of Produce
ShowinAppHomeIndicates if the Published Project should be displayed in the offline app version of Produce
IsInMaintenanceModeIndicates if the Published Project currently in Maintenance Mode
UserGuidThe 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.

FieldDescription
AllowCancellationIndicates if the user has permission to cancel this task
AllowReassignIndicates if the user has permission to reassign this task
AllowUnlockIndicates if the user has permission to unlock this task if it is locked to another user
AnswerFileIDThe ID of any saved in progress Answer File for this user as an integer
AssignedByThe username of the user who assigned this task to the current user.
AssignedByNameThe name of the user who assigned this task to the current user.
AssignedByPictureThe profile picture of the user who assigned this task to the current user.
AssignedGroupNameThe name of the group this task was assigned from
AssignedGuidThe ID of the user to whom this task is assigned in guid form
AssignedTypeWhether this task is assigned to a "User" or a "Group"
CommentAny comment entered when a Save In Progress answer file was created.
DateCreatedUtcThe date this task was created in Coordinated Universal Time (UTC)
DateDueUtcThe date this task is due (if it has a due date) in Coordinated Universal Time (UTC)
DisplayNameThe name of the current task
HasDueDateWhether the task has a due date or not
InProgressIndicates whether the current task is in progress or complete
IsLockedBySomeoneElseWhether the task is locked by a user who is not the current user
LockedByUserThe ID of the user who has this task locked in guid form (this may be the current user)
LockedByPictureThe profile picture of the user this task is currently locked by
LockedByNameThe name of the user who the task is currently locked by
ProjectGroupGuidThe 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)
ProjectNameThe name of the current project
RunIDA Guid identifier representing then entire workflow start to finish.
StateGuidIf this is a workflow task this is the ID of the current state in guid form
StateNameIf this is a workflow task, this is the name of the current state
TaskListStateIdIf this is a workflow task, this is the ID for the submission of the current step, in guid form
UserGuidThe 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

NameDescription
DeleteTasks 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.
UnlockGroup tasks which are locked by the current user will have an unlock option on the pull-down.
ClaimGroup 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.

FieldDescription
AllowCancellationIndicates if the user has permission to cancel this task
AllowReassignIndicates if the user has permission to reassign this task
AllowUnlockIndicates if the user has permission to unlock this task if it is locked to another user
AnswerFileIDThe ID of any saved in progress Answer File for this user as an integer
AssignedByThe username of the user who assigned this task to the current user.
AssignedByNameThe name of the user who assigned this task to the current user.
AssignedByGroupNameThe name of the group this task was assigned from
AssignedGuidThe ID of the user to whom this task is assigned in guid form
AssignedTypeWhether this task is assigned to a "User" or a "Group"
CommentAny comment entered when a Save In Progress answer file was created.
DateCreatedUtcThe date this task was created in Coordinated Universal Time (UTC)
DateDueUtcThe date this task is due (if it has a due date) in Coordinated Universal Time (UTC)
DisplayNameThe name of the current task
HasDueDateWhether the task has a due date or not
InProgressIndicates whether the current task is in progress or complete
IsLockedBySomeoneElseWhether the task is locked by a user who is not the current user
LockedByUserThe ID of the user who has this task locked in guid form (this may be the current user)
LockedByPictureThe profile picture of the user this task is currently locked by
LockedByNameThe name of the user who the task is currently locked by
ProjectGroupGuidThe 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)
ProjectNameThe name of the current project
RunIDA Guid identifier representing then entire workflow start to finish.
StateGuidIf this is a workflow task this is the ID of the current state in guid form
StateNameIf this is a workflow task, this is the name of the current state
TaskListStateIdIf this is a workflow task, this is the ID for the submission of the current step, in guid form
UserGuidThe 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

NameDescription
DeleteTasks 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.
UnlockGroup tasks which are locked by the current user will have an unlock option on the pull-down.
ClaimGroup 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.

FieldDescription
AllowCancellationIndicates if the user has permission to cancel this task
AllowReassignIndicates if the user has permission to reassign this task
AllowUnlockIndicates if the user has permission to unlock this task if it is locked to another user
AnswerFileIDThe ID of any saved in progress Answer File for this user as an integer
AssignedByThe username of the user who assigned this task to the current user.
AssignedByNameThe name of the user who assigned this task to the current user.
AssignedByPictureThe profile picture of the user who assigned this task to the current user.
AssignedGroupNameThe name of the group this task was assigned from
AssignedGuidThe ID of the user to whom this task is assigned in guid form
AssignedTypeWhether this task is assigned to a "User" or a "Group"
CommentAny comment entered when a Save In Progress answer file was created.
DateCreatedUtcThe date this task was created in Coordinated Universal Time (UTC)
DateDueUtcThe date this task is due (if it has a due date) in Coordinated Universal Time (UTC)
DisplayNameThe name of the current task
HasDueDateWhether the task has a due date or not
InProgressIndicates whether the current task is in progress or complete
IsLockedBySomeoneElseWhether the task is locked by a user who is not the current user
LockedByUserThe ID of the user who has this task locked in guid form (this may be the current user)
LockedByNameThe name of the user who the task is currently locked by
LockedByPictureThe profile picture of the user this task is currently locked by
ProjectGroupGuidThe 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)
ProjectNameThe name of the current project
RunIDA Guid identifier representing then entire workflow start to finish.
StateGuidIf this is a workflow task this is the ID of the current state in guid form
StateNameIf this is a workflow task, this is the name of the current state
TaskListStateIdIf this is a workflow task, this is the ID for the submission of the current step, in guid form
UserGuidThe 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

NameDescription
DeleteTasks 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.
UnlockGroup tasks which are locked by the current user will have an unlock option on the pull-down.
ClaimGroup 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 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.

FieldDescription
AllowUnlockIndicates if the user has permission to unlock this task if it is locked to another user.
AssignedByThe username of the user who assigned this task to the current user.
AssignedByGuidThe ID of the user who assigned this task to the current user in guid form.
AssignedByNameThe name of the user who assigned this task to the current user.
AssignedByPictureThe picture of the user who assigned this task to the current user.
AssignedToThe username of the user or group this task state is assigned to.
AssignedToGuidThe ID of the user this task state was assigned to in guid form.
AssignedToNameThe username of the user or group this task state was assigned to.
AssignedToPictureThe profile picture of the user this task state was assigned to.
AssignedTypeWhether this task is assigned to a "User" or a "Group".
CommentAny comment entered when a Save In Progress answer file was created.
DateCreatedUtcThe date this task was created in Coordinated Universal Time (UTC).
DateDueUtcThe date this task is due (if it has a due date) in Coordinated Universal Time (UTC).
DateUpdatedUtcThe date this task was updated in Coordinated Universal Time (UTC).
DisplayNameThe name of the current task.
HasDueDateWhether the task has a due date or not.
ObserverGroupNameThe group name of the observer this task was assigned to.
ObserverGuidThe ID of the observer this task was assigned to, in guid form.
ObserverPictureThe profile picture of the observer this task was assigned to.
ObserverTypeThe type of observer this task was assigned to.
ProjectGroupGuidThe 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).
ProjectNameThe name of the current project.
RunIDA guid identifier representing then entire workflow start to finish.
Saved SequenceSequence number for the workflow task.
StateGuidIf this is a workflow task this is the ID of the current state in guid form.
StateNameIf this is a workflow task, this is the name of the current state.
TaskListStateIdIf this is a workflow task, this is the ID for the submission of the current step, in guid form.
UserGuidThe 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"

FieldDescription
AllowReassignIndicates if the user has permission to reassign this task
AssignedByNameThe name of the user who assigned this task to the current user.
AssignedByUserNameThe username of the user who assigned this task to the current user.
AssignedGuidThe ID of the user to whom this task is assigned in guid form
AssignedToGroupNameIf this task is assigned to a Group, the name of the group assigned to
AssignedToNameThe name of the user to whom this task is assigned
AssignedToUserNameThe username of the user to whom this task is assigned
AssignedTypeWhether this task is assigned to a "User" or a "Group"
CreatedByNameThe name of the user who created this task
CreatedByUserNameThe username of the user who created this task
DisplayNameThe name of this task
LastUpdatedUtcThe time this task was last updated in Coordinated Universal Time (UTC)
LockedByNameThe name of the user this task is currently locked by
LockedByUserThe of the user this task is currently locked by in guid form
LockedByUserNameThe user of the user this task is currently locked by
ProjectGroupGuidThe 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)
StateNameIf this is a workflow task, this is the name of the current state
TaskListIdIf this is a workflow task, this is the ID for the complete current workflow, in guid form
TaskListStateIdIf this is a workflow task, this is the ID for the submission of the current step, in guid form
UserGuidThe 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.

FieldDescription
DisplayNameThe name of the project
FeatureFlagsKeeps 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
FolderNameThe name of the publish folder this project is located in
LastLaunchUtcLast execution of this project in Coordinated Universal Time (UTC)
LogGuidThe ID of the current session of this form in guid form
ProjectGroupGuidThe 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)
ProjectHelpTextHelp text included in "Publish Options" in Manage under Messages option.
ProjectTypeForm
Dashboard
Fragment Page
Fragment Portion
Layout
UserGuidThe 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.

NameDescription
DateCreatedThe date this document was created in Coordinated Universal Time (UTC)
DisplayNameThe name of this document
DocumentIdThe ID of this document as an integer
DocumentNameThe full name of this document including extension
ExtensionThe extension of this document
JobIdThe ID of the generation job that created this document.
ProjectDocumentGuidThe ID of the document template used to create this document, in guid form
ProjectNameThe name of the project this document was created by
UserGuidThe 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.

FieldDescription
Username
User_GuidUnique user identifier
Full_NameConcatenation of title, first and last name. Fallback is username.
Fax_Number, Email_Address,First_Name, Last_Name, Organisation_Name, Phone_Number, Salutation_Name, TitleVarious address user profile data.
Street_Address_1, Street_Address_2, Street_Address_Country, Street_Address_Postcode, Street_Address_State, Street_Address_SuburbStreet 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.

FieldDescription
UsernameUsername
User_GuidUnique identifier for the user
FullNameConcatenation of Title, First Name and last Name c
Email_Address, First_Name, Last_Name, Phone_Number, PrefixVarious User profile fields
Group_GuidUnique identifier for the group the user is a member of
GroupNamename of the group the user is a member of

System Projects

All published projects

FieldDescription
Modified_ByThe ID of the user who last modified this project in guid form
Modified_DateThe date this project was last modified in Coordinated Universal Time (UTC)
NameThe name of the project
Project_GuidThe ID of the project in guid form
Project_TypeForm
Dashboard
Fragment Page
Fragment Portion
Layout
Published_Project_GuidThe 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.

FieldDescription
AllowCancellationIndicates if the assigned user has permission to cancel this task
AllowReassignIndicates if the assigned user has permission to reassign this task
ApprovedByThe names of the users who have already approved this Approval task
AssignedByThe username of the user who assigned this task to the current user.
AssignedByEmailThe email of the user who assigned this task to the current user.
AssignedByGuidThe ID of the user who assigned this task to the current user, in guid form
AssignedByNameThe name of the user who assigned this task to the current user.
AssignedGuidThe ID of the user or group to whom this task is assigned in guid form
AssignedToThe username of the user or group to whom this task is assigned
AssignedToEmailThe email of the user or group to whom this task is assigned
AssignedToNameThe name of the user or group to whom this task is assigned
AssignedTypeWhether this task is assigned to a "User" or a "Group"
CommentAny comment entered when a Save In Progress answer file was created.
DateCreatedUtcThe date this task was created in Coordinated Universal Time (UTC)
DateDueUtcThe date this task is due (if it has a due date) in Coordinated Universal Time (UTC)
DisplayNameThe name of the current task
HasDueDateWhether the task has a due date assigned or not
LockedByUserThe ID of the user who has this task locked in guid form (this may be the current user)
LockedByThe username of the user who has this task locked
LockedByNameThe name of the user who the task is currently locked by
ProjectGroupGuidThe 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)
ProjectGuidThe ID of the project in guid form
ProjectNameThe name of the current project
RequiredProgressive list of approvers or groups still required to approve before this task can be complete. E.g 0/1 Finance Team
RunIDA Guid identifier representing then entire workflow start to finish.
StateGuidIf this is a workflow task or approval this is the ID of the current state in guid form
StateNameIf this is a workflow task or approval, this is the name of the current state
TaskListStateIdIf 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.

FieldDescription
ActionListIdThe ID for the complete current workflow task in guid form
ActionListStateIdThe ID of the current state of the current workflow task
AssignedByThe username of the user who assigned this task to the assigned user
AssignedByFullNameThe full name of the user who assigned this task to the assigned user
AssignedGroupNameThe name of the group this task is assigned to, if it is assigned to a group rather than a user
AssignedToThe username of the user or group this task state is assigned to
AssignedToFullNameThe full name of the user or group this task state was assigned to
AssignedToGroupGuidThe ID of the group this task state was assigned to in guid form, if the task state was assigned to a group
AssignedToUserGuidThe ID of the user this task state was assigned to in guid form, if the task state was assigned to a user
CommentAny comments left by the previous user who assigned this task state to the assigned user
DateCreatedUtcThe date this state was created in Coordinated Universal Time (UTC)
DateUpdatedUtcThe date this state was last updated in Coordinated Universal Time (UTC)
IsCompleteIndicates whether the current state is complete or still in progress
IsCurrentTaskTrue in the current task record, False in the others.
StateNameThe name of the current state for this task
SubmittedByGuidThe ID of the user this state of the task was submitted by in guid form
SubmittedByNameThe 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.