SaaS Data Payloads for Single Sign-on Applications
Utilize the following SaaS Data payloads in order to load data into SSO managed applications.
- Application Discovery - SSO Applications associated to the SSO instance.
- SSO Application Roster - Use this task to load an application roster (users) into a SSO mananaged application.
- SSO Application Usage - Use this task to load usage (events) into a SSO managed application.
Supported Task - Application Discovery
This task discovers applications enabled by this SSO provider and adds them to the Managed Applications within SaaS Management.
Task Name
Task Name | Version |
---|---|
ApplicationDiscovery | 1 |
Load Types Supported
full - only full reload is currently supported. Entries are upserted if they exist within the dataset. If an application is no longer seen within the set, it is set to deactivated.
JSON Description
JSON Field Name | Display Name | Required | Description | Type | Example |
---|---|---|---|---|---|
ssoAppName | Name | Y | Name of the application managed by the SSO provider | String | Acunote |
ssoAppDisplayName | DisplayName | Y | Display Name of the application managed by the SSO provider | String | me@here.com |
ssoAppId | First Name | N | One of the ways to identify the application. It is used in scenarios where the API would return two applications with the same name but are different. | Alphanumeric | abc123 |
appInstanceId | Instance Id | Y | The instance id of the application. | Alphanumeric | abc123 |
ssoAppAdditional.createdAt | Date Created | N | The date the application was created within the SSO provider | ISO-8601/UTC | 2020-03-05T15:56:53.889Z |
appInstanceAdditional.hasGuestAccounts | Guests Allowed? | N | If the application accepts guests, set to true, otherwise false | boolean | false |
Task Example
This Application Discovery example demonstrates two entries. The addition of null fields is acceptable as seen in the second entry. The formatting is only for readability. Ensure the payload is valid JSON-L (newline-delimited JSON).
{
"ssoAppName": "Slack - Business Communication for Teams",
"ssoAppDisplayName": "Slack - Business Communication for Teams",
"ssoAppId": "76d33699-9f0f-4eb7-bdd2-d0c75741d8f7",
"ssoAppAdditional": {
"createdAt": "2020-03-05T15:56:53.889Z"
},
"appInstanceId": "76d33699-9f0f-4eb7-bdd2-d0c75741d8f7",
"appInstanceAdditional": {
"hasGuestAccounts": true
}
}
{
"ssoAppName": "StratoKey (NetSuite)",
"ssoAppDisplayName": "StratoKey (NetSuite)",
"ssoAppId": "6e1a699a-c516-4f04-bbff-c247b8848c4c",
"ssoAppAdditional": null,
"appInstanceId": "6e1a699a-c516-4f04-bbff-c247b8848c4c",
"appInstanceAdditional": null
}
Supported Task - SSO Application Roster
This task is the application roster for the instance of the SSO application.
Task Name
Task Name | Version |
---|---|
SsoApplicationRoster | 1 |
Load Types Supported
full - only full reload is currently supported. When loaded, the system compares the current dataset to the previously loaded dataset. All application users within the intersection remain the same or are updated, all people previously in the old dataset have their deactivatedAt date set to the time of the data load, and all new users are inserted into the data store.
JSON Description
JSON Field Name | Display Name | Required | Description | Type | Example |
---|---|---|---|---|---|
uniqueId | Unique Id | Y | User's unique ID that is usually the same as the user’s email | Alphanumeric | 94123. Or email: “me@here.com” |
Y | User's email | String | me@here.com | ||
firstName | First Name | Y | User's First Name | String | Gavin |
middleName | Middle Name | N | User's Middle Name | String | John |
lastName | Last Name | Y | User's Last Name | String | Belson |
skus | SKUs | N | The Array of SKUs (or Licenses) assigned to a user. SKUs are used for license differentiation. | Array of String | "ACROBAT_PRO_DC", "ADOBE_ANALYTICS" |
activatedAt | Active Date | Y | Date the user's subscription was made active | ISO-8601 / UTC | 2012-04-23T18:25:43.511Z |
deactivatedAt | Deactivated Date | N (See note) | Date the user's subscription was made inactive | ISO-8601 / UTC | 2012-04-23T18:25:43.511Z |
appInstanceId | App Instance Id | Y | Identifier for the instance of the application | Alphanumeric | abc123 |
Task Example
Note: The formatting is only for readability. Ensure the payload is valid JSON-L (newline-delimited JSON).
{
"uniqueId": "3470c8a8-475d-427d-92fb-1c831c975b5f",
"email": "gwashington@helloworld.com",
"firstName": "George",
"lastName": "Washington",
"middleName": "",
"activatedAt": "2020-03-05T15:56:53.889Z",
"deactivatedAt": "2020-03-15T15:56:53.889Z",
"appInstanceId": "b2fbc513-67ce-4698-9662-cfdd64f413c3"
}
{
"uniqueId": "006b223b-5531-41f2-9e01-420c5efe663b",
"email": "alincoln@helloworld.com",
"firstName": "Abraham",
"lastName": "Lincoln",
"middleName": "",
"activatedAt": "2020-01-01T01:01:23.889Z",
"appInstanceId": "b2fbc513-67ce-4698-9662-cfdd64f413c3"
}
Supported Task - SSO Application Usage (Events)
Application Usage represents all of the events within an SSO application. At a minimum, the data should represent every application access event.
Task Name
Task Name | Version |
---|---|
SsoApplicationUsage | 1 |
Load Types Supported
incremental - Only incremental load is supported. Each new set of usage events are considered unique.
JSON Description
JSON Field Name | Display Name | Required | Description | Type | Example |
---|---|---|---|---|---|
uniqueId | Unique Id | Y | User's unique ID that is usually the same as the user’s email | Alphanumeric | 94123. Or email: “me@here.com” |
occurredAt | Event Time | Y | Date and time when the event took place | ISO-8601 / UTC | 2012-04-23T18:25:43.511Z |
notes | Notes | N | Description of the event. This field is not required but recommended. | String | login |
appInstanceId | App Instance Id | Y | Identifier for the instance of the application | Alphanumeric | abc123 |
Task Example
Note: Newlines were added for readability. Each entry should reside on its own line. This example contains two entries.
{
"uniqueId": "3470c8a8-475d-427d-92fb-1c831c975b5f",
"occurredAt": "2020-03-15T15:56:53.889Z",
"notes" : "login",
"appInstanceId": "b2fbc513-67ce-4698-9662-cfdd64f413c3"
}
{
"uniqueId": "006b223b-5531-41f2-9e01-420c5efe663b",
"occurredAt": "2020-01-20T01:56:53.889Z",
"notes" : "downloaded Legal Document",
"appInstanceId": "5cc55141-c7a8-4c3a-a59a-783258f289cc"
}