Skip to main content

Version: 19.11 (EOL)

Migrate Workspaces 19.05 to Workspaces 19.11

The migration path from Workspaces 19.05 to Workspaces 19.11 should be pretty straight forward. Once again, we have enhanced the config based on feedback to support a wider variety of features.

  • actions have been extended to support permissions and custom actions.
  • applicants, integrations and statusColor config has been merged into customCards with the introduction of custom card types, we have also removed foreach.
  • We have added a new primitive type for dataIndex properties, called alert, that can be used for any sort of call-to-action, like SLA.
  • We have also added a new space config called attachments that allows us to customize the Documents Card on the Details screen.

The remainder of this topic describes an example migration, migrating the Global and Process configs from Workspaces 19.05 to Workspaces 19.11.

Updated configs

actions

As mentioned above, the actions config now supports permissions and the ability to create custom actions as well as custom labels.

{
"actions":{
"Receipt":{
"label":"Receipt",
"permissions": {
"type": "group",
"value": ["Manual Review"]
}
},
"Claim":{
"label":"Claim"
},
"Release":{
"label":"Release"
},
"Decision":{
"label":"Decision"
},
"Custom":{
"label":"More",
"properties":[
{
"label":"Review Checklist",
"dataIndex":"properties['ReviewChecklistUrl']",
"type":"url"
}
]
}
}
}

customCards

The Workspaces 19.11 customCards config has been updated to support multiple Custom Card types including: list, listStacked, listExtended, table and tableExtended. For more information, see Custom Cards.

Workspaces 19.11 configs

The refactored Global and Process configs for Workspaces 19.11 are shown below. The updated properties are highlighted to assist in identifying the changes made.

Global config
{
"theme":{
"primary":{
"main":"#025197"
},
"accent":{
"main":"#715C95"
}
},
"hideSteps":[
"Helpdesk View"
],
"locales":[
"en"
],
"currentLocale":"en",
"spaces":[
{
"label":"Process",
"icon":"BallotOutlined",
"value":"Process",
"permissions":{
"type":"role",
"value":[
"Processing Staff",
"Work Spaces Staff"
]
}
},
{
"label":"Helpdesk",
"icon":"HeadsetOutlined",
"value":"Helpdesk",
"permissions":{
"type":"role",
"value":[
"Helpdesk Staff",
"Work Spaces Staff"
]
}
},
{
"label":"Assisted Channel",
"icon":"AccessibilityNewOutlined",
"value":"Assist Channel",
"permissions":{
"type":"role",
"value":[
"Assisted Channel Staff",
"Work Spaces Staff"
]
}
},
{
"label":"Manage",
"icon":"SupervisedUserCircleOutlined",
"value":"Manage",
"permissions":{
"type":"role",
"value":[
"Manager",
"Work Spaces Staff",
"Workspaces staff Manager"
]
}
}
],
"currentSpace":"Process",
"mappings":{
"$primaryName":{
"label":"Primary applicant",
"icon":"PersonOutlineOutlined",
"dataIndex":[
"properties['PrimaryName']",
"formDataMap['PrimaryName']"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$appId":{
"label":"App ID",
"icon":"FontDownloadOutlined",
"dataIndex":[
"job.jobRefNumber",
"trackingCode"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$product":{
"label":"Product",
"icon":"WorkOutlineOutlined",
"dataIndex":[
"job.name",
"formName"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$backgroundCheckStatus":{
"label":"Background Checks Status",
"icon":"CheckRounded",
"dataIndex":[
"properties['IntegrationsReview']"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$taskSla":{
"label":"SLA",
"dataIndex":"properties['taskSla']",
"type":"alert",
"warning":"2 days"
},
"$slaDate":{
"label":"SLA Expiry",
"icon":"EventOutlined",
"dataIndex":"properties['taskSla']",
"type":"date",
"format":"relative",
"sorter":false
},
"$currentQueue":{
"label":"Current queue",
"icon":"FlagOutlined",
"dataIndex":"groupName",
"type":"text",
"sorter":true,
"filter":{
"type":"multiselect",
"options":[
"Error Review",
"Fraud Review",
"Manual Review"
]
}
},
"$appAge":{
"label":"App age",
"icon":"EventOutlined",
"dataIndex":"job.timeCreated",
"type":"date",
"format":"relative",
"sorter":true,
"filter":{
"type":"picker",
"options":{
"minDate":"{{ date('1 month ago') }}",
"maxDate":"{{ date('now') }}"
}
}
},
"$assigned":{
"label":"Assigned to",
"icon":"AccountCircleOutlined",
"dataIndex":"userLoginName",
"type":"text",
"sorter":true,
"filter":{
"type":"input"
}
},
"$currentStep":{
"label":"Current Step",
"icon":"TaskID",
"dataIndex":"job.currentStep",
"type":"text",
"sorter":false
},
"$currentTask":{
"label":"Current task",
"icon":"TaskID",
"dataIndex":"formName",
"type":"text",
"sorter":false
},
"$taskCreated":{
"label":"Task Created",
"icon":"TaskCreated",
"dataIndex":"timeCreated",
"type":"date",
"format":"relative",
"sorter":true,
"filter":{
"type":"picker",
"options":{
"minDate":"{{ date('1 month ago') }}",
"maxDate":"{{ date('now') }}"
}
}
},
"$appLastModified":{
"label":"Last modified",
"icon":"LastModified",
"dataIndex":"job.timeLastModified",
"type":"date",
"sorter":false,
"filter":{
"type":"picker",
"options":{
"minDate":"{{ date('1 month ago') }}",
"maxDate":"{{ date('now') }}"
}
}
},
"$formLastModified":{
"label":"Last modified",
"icon":"LastModified",
"dataIndex":[
"timeUserLastModified"
],
"type":"date",
"sorter":true,
"filter":{
"type":"picker",
"options":{
"minDate":"{{ date('1 month ago') }}",
"maxDate":"{{ date('now') }}"
}
}
},
"$appStatus":{
"label":"App status",
"icon":"AppStatus",
"dataIndex":"job.status",
"type":"text",
"sorter":false
},
"$taskStatus":{
"label":"Task Status",
"icon":"TaskStatus",
"dataIndex":"formStatus",
"type":"text",
"sorter":true,
"filter":{
"type":"multiselect",
"options":[
"Assigned",
"Opened",
"Saved",
"Completed",
"Abandoned"
]
}
},
"$dateOfBirth":{
"label":"Date of birth",
"dataIndex":[
"properties['PrimaryDOB']",
"formDataMap['PrimaryDOB']"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$SSN":{
"label":"SSN",
"dataIndex":[
"properties['PrimarySSN']",
"formDataMap['PrimarySSN']"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$email":{
"label":"Email",
"dataIndex":[
"properties['PrimaryEmail']",
"formDataMap['PrimaryEmail']"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$phone":{
"label":"Phone #",
"dataIndex":[
"properties['PrimaryPhone']",
"formDataMap['PrimaryPhone']"
],
"type":"text",
"sorter":false,
"filter":{
"type":"input"
}
},
"$appSubmitted":{
"label":"App submitted",
"dataIndex":"job.timeCreated",
"type":"date",
"sorter":true,
"filter":{
"type":"picker",
"options":{
"minDate":"{{ date('1 month ago') }}",
"maxDate":"{{ date('now') }}"
}
}
},
"$appCreated":{
"label":"App created",
"dataIndex":"timeCreated",
"type":"date",
"sorter":true,
"filter":{
"type":"picker",
"options":{
"minDate":"{{ date('1 month ago') }}",
"maxDate":"{{ date('now') }}"
}
}
},
"$formStatus":{
"label":"Form status",
"icon":"TaskStatus",
"dataIndex":"formStatus",
"type":"text",
"sorter":true,
"filter":{
"type":"multiselect",
"options":[
"Assigned",
"Opened",
"Saved",
"Completed",
"Abandoned"
]
}
},
"$applicants":{
"label":"Applicants",
"icon":"PermIdentityTwoTone",
"type":"tableExtended",
"dataSource":"properties['ApplicationDetails']",
"properties":[
{
"label":"Status",
"dataIndex":"checkStatus",
"type":"alert"
},
{
"label":"Name",
"dataIndex":"profile.name",
"type":"text"
},
{
"label":"Email",
"dataIndex":"profile.email",
"type":"text"
},
{
"label":"Trust",
"dataIndex":"products['Trust']",
"type":"text"
},
{
"label":"Super Saver",
"dataIndex":"products['Super Saver']",
"type":"text"
},
{
"label":"Standard Checking",
"dataIndex":"products['Standard Checking']",
"type":"text"
}
],
"sections":[
{
"label":"Personal Info",
"type":"list",
"properties":[
{
"label":"Full Name",
"dataIndex":"profile.name",
"type":"text",
"fullWidth":true
},
{
"label":"Address",
"dataIndex":"profile.address",
"type":"text",
"fullWidth":true
},
{
"label":"SSN",
"dataIndex":"profile.ssn",
"type":"text"
},
{
"label":"Email",
"dataIndex":"profile.email",
"type":"text"
},
{
"label":"Phone #",
"dataIndex":"profile.phone",
"type":"text"
},
{
"label":"Date of Birth",
"dataIndex":"profile.dob",
"type":"text"
}
]
},
{
"label":"Background Checks",
"type":"listExtended",
"statusColors":{
"Black":[
"HARDFAIL"
],
"LightGreen":[
"LOW"
],
"Green":[
"VERIFIED",
"PASSED",
"ACCEPT",
"APPROVE",
"TRUSTED",
"PASS"
],
"Red":[
"FAILED",
"DECLINE",
"HIGH",
"FAIL"
],
"Blue":[
"REVIEW",
"NEUTRAL",
"UNVERIFIED"
],
"Orange":[
"INSUFFICIENT",
"MEDIUM"
]
},
"properties":[
{
"label":"FIS Chexsystems",
"properties":[
{
"label":"IDA",
"dataIndex":"integrations.[0].items[0].value",
"type":"text"
},
{
"label":"IDV",
"dataIndex":"integrations.[0].items[1].value",
"type":"text",
"link":{
"dataIndex":"integrations.[0].items[1].link",
"type":"html"
}
},
{
"label":"OFAC",
"dataIndex":"integrations.[0].items[2].value",
"type":"text"
},
{
"label":"Qualfile",
"dataIndex":"integrations.[0].items[3].value",
"type":"text",
"link":{
"dataIndex":"integrations.[0].items[3].link",
"type":"html"
}
}
]
},
{
"label":"Threat Metrix",
"properties":[
{
"label":"DECISION",
"dataIndex":"integrations.[1].items[0].value",
"type":"text",
"link":{
"dataIndex":"integrations.[1].items[0].link",
"type":"json"
}
},
{
"label":"RISK RATING",
"dataIndex":"integrations.[1].items[1].value",
"type":"text"
},
{
"label":"SCORE",
"dataIndex":"integrations.[1].items[2].value",
"type":"number"
}
]
},
{
"label":"TIN Check",
"properties":[
{
"label":"TIN Verification",
"dataIndex":"integrations.[2].items[0].value",
"type":"text",
"link":{
"dataIndex":"integrations.[2].items[0].link",
"type":"xml"
}
}
]
}
]
}
]
},
"$sentEmails":{
"label":"Sent emails",
"icon":"InfoTwoTone",
"type":"table",
"dataSource":"properties['EmailList']",
"properties":[
{
"label":"Date sent",
"dataIndex":"dateAttempted",
"type":"date"
},
{
"label":"Info",
"dataIndex":"name",
"type":"text"
},
{
"label":"Delivery status",
"dataIndex":"emailSent",
"type":"text"
},
{
"label":"Follow up",
"dataIndex":"followUp",
"type":"text"
},
{
"label":"Sent mail",
"type":"text",
"link":{
"dataIndex":"emailContent",
"type":"html",
"encoding":"base64"
}
}
]
},
"$applicantValidations":{
"label":"Applicant validations",
"icon":"InfoTwoTone",
"type":"table",
"dataSource":"properties['GenericContent']",
"properties":[
{
"label":"Type",
"dataIndex":"type",
"type":"text"
},
{
"label":"View report",
"type":"text",
"link":{
"dataIndex":"htmlContent",
"type":"html",
"encoding":"base64"
}
},
{
"label":"View JSON",
"type":"text",
"link":{
"dataIndex":"jsonContent",
"type":"json",
"encoding":"base64"
}
},
{
"label":"View XML",
"type":"text",
"link":{
"dataIndex":"xmlContent",
"type":"xml",
"encoding":"base64"
}
},
{
"label":"View PDF",
"link":{
"dataIndex":"pdfContent",
"type":"pdf"
}
}
]
},
"$reviewChecklist":{
"label":"Review Checklist",
"type":"listStacked",
"icon":"BallotOutlined",
"properties":[
{
"label":"Personal Details",
"dataIndex":[
"properties['PersonalDetails']"
],
"type":"text"
},
{
"label":"Background Checks",
"dataIndex":[
"properties['BackgroundChecks']"
],
"type":"text",
"filter":{
"type":"input"
}
},
{
"label":"Attachments",
"dataIndex":[
"properties['Attachments']"
],
"type":"text"
},
{
"label":"Remarks",
"dataIndex":[
"properties['Remarks']"
],
"type":"text"
}
]
}
}
}
Process config
{
"pageSize":10,
"title":"Process",
"loadQuery":true,
"attachments":{
"duplicates":false,
"filter":{
"action":"exclude",
"regex":".zip"
},
"uploadWithoutClaim":false
},
"emptyMessage":"No results found, try widening your search",
"actions":{
"Receipt":{
"label":"Receipt"
},
"Claim":{
"label":"Claim"
},
"Release":{
"label":"Release"
},
"Decision":{
"label":"Decision"
},
"Custom":{
"label":"More",
"properties":[
{
"label":"Review Checklist",
"dataIndex":"properties['ReviewChecklistUrl']",
"type":"url"
}
]
}
},
"globalFilters":{
"GroupName":{
"label":"Queues",
"options":[
"Error Review",
"Fraud Review",
"Manual Review"
],
"value":"All"
},
"DateCreated":{
"label":"Created Date",
"value":[
"{{ date('4 weeks ago') }}",
"{{ date('now') }}"
]
}
},
"views":[
{
"label":"All outstanding",
"properties":[
"$taskSla",
"$appId",
"$primaryName",
"$product",
"$appAge",
"$currentQueue",
"$currentTask",
"$taskCreated",
"$assigned",
"$formLastModified"
],
"sortOrder":"desc",
"sortBy":"$appAge"
},
{
"label":"Unassigned",
"properties":[
"$taskSla",
"$appId",
"$primaryName",
"$product",
"$appAge",
"$currentQueue",
"$currentTask",
"$taskCreated",
"$assigned",
"$formLastModified"
],
"filterBy":{
"$assigned":"None"
},
"sortOrder":"desc",
"sortBy":"$appAge"
},
{
"label":"Assigned to me",
"properties":[
"$taskSla",
"$appId",
"$primaryName",
"$product",
"$appAge",
"$currentQueue",
"$currentTask",
"$taskCreated",
"$assigned",
"$formLastModified"
],
"filterBy":{
"$assigned":"{{ currentUser }}"
},
"sortOrder":"desc",
"sortBy":"$appAge"
},
{
"label":"URGENT",
"properties":[
"$taskSla",
"$slaDate",
"$appId",
"$primaryName",
"$product",
"$appAge",
"$currentQueue",
"$currentTask",
"$taskCreated",
"$assigned",
"$formLastModified"
],
"filterBy":{
"$taskCreated":[
"{{ date('now') }}",
"{{ date('next week') }}"
]
},
"sortOrder":"desc",
"sortBy":"$appAge"
},
{
"label":"Completed tasks",
"properties":[
"$taskSla",
"$appId",
"$primaryName",
"$product",
"$appAge",
"$currentQueue",
"$currentTask",
"$appStatus",
"$taskStatus",
"$taskCreated",
"$assigned",
"$formLastModified"
],
"filterBy":{
"$taskStatus":[
"Completed"
]
},
"sortOrder":"desc",
"sortBy":"$appAge"
}
],
"keyInfo":[
"$primaryName",
"$appId",
"$slaDate",
"$assigned",
"$currentQueue",
"$product"
],
"customCards":[
"$applicants",
"$reviewChecklist",
"$sentEmails",
"$applicantValidations"
]
}