SAS Decisioning (Preview)
SAS Decisioning combines AI and business rules to automate operational decisions at scale. Use this connector to run decision models that are deployed on the SAS Viya platform.
This connector is available in the following products and regions:
Service | Class | Regions |
---|---|---|
Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Contact | |
---|---|
Name | SAS Support |
URL | https://support.sas.com |
support@sas.com |
Connector Metadata | |
---|---|
Publisher | SAS Institute, Inc. |
Website | https://www.sas.com |
Privacy policy | https://www.sas.com/en_us/legal/privacy.html |
Categories | AI;Data |
SAS Intelligent Decisioning on SAS Viya combines business rules management, decision processing, real-time event detection, decision governance, and powerful SAS advanced analytics to automate and manage decisions across the enterprise. SAS Intelligent Decisioning helps expedite the operationalization of analytical models, including both SAS models and those developed with open source frameworks. It supports the decisioning process in credit services, fraud prevention, manufacturing, personalized marketing, and many other use cases.
The SAS Decisioning connector enables users to connect to their SAS Viya environment and run selected decision modules and analytical models. Example use cases for the SAS Decisioning connector include:
- Determine if the email content complies with a company’s corporate policy
- Score a job applicant based on interview feedback
- Score a sales opportunity
- Determine if an invoice is legitimate
- Automatically approve an expense report
To learn more about SAS Intelligent Decisioning and to request a free trial, please visit https://www.sas.com/en_us/software/intelligent-decisioning.html.
Prerequisites
- The user must have an existing SAS Intelligent Decisioning license.
- The user must configure the SAS Intelligent Decisioning environment to allow calls coming from the IP Addresses described in Azure IP Ranges.
How to use the SAS Decisioning connector
- Register your client applications.
- Obtain an access token for use in connecting to your SAS Viya environment.
- Connect to your SAS Viya environment.
Registering clients
All applications and scripts that use SAS Viya REST APIs must be registered with the SAS environment. Your SAS administrator must use the OAuth service in SAS Logon Manager to request an access token and to register a client. SAS Logon Manager issues OAuth access tokens in response to requests that contain a valid token from the SAS Configuration Server. SAS Decisioning Connector uses an OAuth Bearer token as an API Key.
To register a client:
Locate a valid Consul token. A SAS administrator can find a token in the client.token file at
/opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/consul/default
inside thesas-consul-server-0
pod. To retrieve the Consul token string on a Linux system, run the following command:kubectl exec sas-consul-server-0 -- \ cat /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/consul/default/client.token
Request an OAuth token by posting a request to
/SASLogon/oauth/clients/consul
. Specify the Consul token from step 1 in theX-Consul-Token
field. For example, to request a token for a client namedapp
, submit the following command:curl -X POST "https://server.example.com/SASLogon/oauth/clients/consul?callback=false&serviceId=app" \ -H "X-Consul-Token: <consul-token-from-step-1>"
Query parameter Description callback Specify false
in order to receive an access token in the response. Otherwise, the token is sent to the service registered in SAS Configuration Server.serviceId Specify the name of the client that you want to register. In response to the request, SAS Logon Manager returns a JSON response that includes an access token in the access_token field.
Register the client application by posting a request to
/SASLogon/oauth/clients
. Specify the access token that was returned in step 2 as the value of theAuthorization
header:curl -X POST "https://server.example.com/SASLogon/oauth/clients" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <access-token-from-step-2>" \ -d '{ "client_id": "<client-id-goes-here>", "client_secret": "<client-secret-goes-here>", "scope": ["openid"], "authorized_grant_types": ["client_credentials"], "access_token_validity": 43199 }'
Tip: By default, a token is valid for 12 hours (or 43200 seconds). To set a shorter or longer duration, set the
access_token_validity
field as needed, using an integer value for time in seconds.Note: There are other "authorized_grant_types" supported, but the SAS Decisioning connector currently expects the
client_credentials
grant type.
If the request is successful, the client is registered. A successful JSON response looks similar to the following example:
{"scope":["openid"],"client_id":"<requested-client-id>","resource_ids":["none"],"authorized_grant_types":["client_credentials"],
"access_token_validity":43199,"authorities":["uaa.none"],"lastModified":1521124986406}
Obtaining access tokens
Registered clients can request an access token using the SAS Logon OAuth API. To request an access token, post a request to the /SASLogon/oauth/token
endpoint and specify a form of authorization. The authorization is expressed in the form of an authorization grant. Currently, SAS Viya REST APIs support the client_credentials
grant type.
For example, given a client identifier of "myclient" with a secret "mysecret," you can request a token as follows:
curl -X POST "https://server.example.com/SASLogon/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=myclient&client_secret=mysecret"
The JSON response contains a field named access_token
that contains the value of the token that is used by the SAS Decisioning connector to create Power Automate connections. When the token expires, post a new request to the /SASLogon/oauth/token
endpoint.
Connecting to your SAS Viya environment
To connect to your SAS Viya environment, you will need the following information:
Parameter name | Description |
---|---|
SAS Viya Environment URL | URL of the SAS Intelligent Decisioning deployment. For example: https://server.example.com |
Authorization Token | The access token returned from the command in Obtaining access tokens above. Prefix the token with Bearer . |
The connection can be shared between users.
Creating a connection
The connector supports the following authentication types:
Default | Parameters for creating connection. | All regions | Shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is shareable connection. If the power app is shared with another user, connection is shared as well. For more information, please see the Connectors overview for canvas apps - Power Apps | Microsoft Docs
Name | Type | Description | Required |
---|---|---|---|
SAS Viya Environment URL | string | Specify SAS Viya Environment URL | True |
Authorization Token | securestring | The Authorization Token for this api | True |
Throttling Limits
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
Actions
Run step |
Executes the step with the specified input values. The |
Run step
Executes the step with the specified input values. The outputs
variable in the reply contains the output of the execution.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
module
|
moduleId | True | string |
The identifier of the module that contains the step to execute. |
step
|
stepId | True | string |
The identifier of the step to execute. |
name
|
name | string |
Name of the variable. |
|
value
|
value |
The value of the variable. |
Returns
This type describes the output values that are returned when a step is executed.
- Step Output
- stepOutput
Triggers
When a pre-defined event happened |
Creates a new webhook for pre-defined callback content type event. |
When a resource is published |
Creates a new webhook for publish event. |
When a resource is validated |
Creates a new webhook for completion of any scoring event. |
When a pre-defined event happened
Creates a new webhook for pre-defined callback content type event.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Callback content type
|
callbackContentType | True | string |
Type of the callback content. |
Callback content filter
|
callbackContentFilter | string |
Filter for the callback content. |
Returns
The content of the generic callback.
- Webhook Callback Generic
- webhookCallbackGeneric
When a resource is published
Creates a new webhook for publish event.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Resource path prefix
|
resourcePath | True | string |
Path of the resource in the folder. |
Destination type
|
destinationType | True | string |
Returns
The content of the callback publish. This represents application/vnd.sas.webhook.callback.publish media type (version 1).
- Webhook Callback Publish
- webhookCallbackPublish
When a resource is validated
Creates a new webhook for completion of any scoring event.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Resource path prefix
|
resourcePath | True | string |
Path of the resource in the folder. |
State
|
state | True | string |
Returns
The content of the callback validate. This represents application/vnd.sas.webhook.callback.validate media type (version 1).
- Webhook Callback Validate
- webhookCallbackValidate
Definitions
anyVariableValue
stepOutput
This type describes the output values that are returned when a step is executed.
Name | Path | Type | Description |
---|---|---|---|
moduleId
|
moduleId | string |
The identifier of the module that contains the executed step. |
stepId
|
stepId | string |
The name of the step that produced this output. |
outputs
|
outputs | array of variable |
The output values that are returned from an executed step. The order of the variables matches the order presented in the output signature. |
variable
A name/value pair that represents an input or output variable.
Name | Path | Type | Description |
---|---|---|---|
|
name | string |
Name of the variable. |
value
|
value | anyVariableValue |
The value of the variable. |
link
Name | Path | Type | Description |
---|---|---|---|
href
|
href | string |
The URL for the link. |
itemType
|
itemType | string |
If this is a link to a container, |
method
|
method | string |
The HTTP method for the link. |
rel
|
rel | string |
The relationship of the link to the resource. |
responseItemType
|
responseItemType | string |
The media type or link type of the items in the response body for a
|
responseType
|
responseType | string |
The media type or link type of the response body for a |
title
|
title | string |
The title for the link. |
type
|
type | string |
The media type or link type for the link. |
uri
|
uri | string |
The relative URI for the link. |
webhookCallbackValidate
The content of the callback validate. This represents application/vnd.sas.webhook.callback.validate media type (version 1).
Name | Path | Type | Description |
---|---|---|---|
state
|
state | string |
State whether it is success or failure. |
resourceUri
|
resourceUri | string |
Uri of the resource on which the validation is performed. |
resourcePath
|
resourcePath | string |
Path of the resource in the folder. |
resourceVersion
|
resourceVersion | string |
Version of the resource on which the validation is performed. |
validationType
|
validationType | string |
Type of the validation that is performed on the resource. |
links
|
links | array of link |
Zero or more links to related resources or operations. |
version
|
version | integer |
This media type's schema version number. This representation is version 1. |
webhookCallbackPublish
The content of the callback publish. This represents application/vnd.sas.webhook.callback.publish media type (version 1).
Name | Path | Type | Description |
---|---|---|---|
resourceUri
|
resourceUri | string |
Uri of the resource which is published. |
resourcePath
|
resourcePath | string |
Path of the resource in the folder. |
resourceVersion
|
resourceVersion | string |
Version of the resource which is published. |
destinationType
|
destinationType | string |
Type of the destination where the resource is published. |
replace
|
replace | boolean |
Indicated whether the resource is published for the first time or replaced. |
links
|
links | array of link |
Zero or more links to related resources or operations. |
version
|
version | integer |
This media type's schema version number. This representation is version 1. |
webhookCallbackGeneric
The content of the generic callback.
Name | Path | Type | Description |
---|---|---|---|
links
|
links | array of link |
Zero or more links to related resources or operations. |
version
|
version | integer |
This media type's schema version number. This representation is version 1. |