Operational Parameters
Operational Parameters allow contact centres to parameterise and store configurations for complex flows in Amazon Connect. This is handled by setting specific key/value pairs and data types via Admin. These are separate from the actual call flows, which gives you the opportunity to make your contact flows data-driven, more efficient and easier to manage.
These parameters can then be called from within Amazon Connect Contact Flows via a Lambda call.
Parameters can be configured on the Contact Centre > Customise > Operations > Operational Parameters page.
Contact centre operations page in admin
The operational parameters admin page below will show configuration about integrating Amazon Connect with our Lambda when one or more parameters are created. If no parameters are created, this information will be viewable in the Create Parameter
wizard.
When using any of the below configuration fields, if any used are incorrect, or your parameter doesn't exist, your contact flow will receive an error response.
Operational parameters list page in admin
Adding a New Parameter
To add a new parameters click the New Parameter
button on the operational parameters page above. If you have not added any other parameters, this button will be in the middle of the page, otherwise, the top right as per the screenshot below.
- Provide a name, description (optional) and type for your parameter and click
Save
.
Parameter name must be unique and can only contain letters, numbers and – _ +
Add operational parameter modal
- Your new parameter will appear in the parameters list on the operational parameters list page.
The list of parameters in admin, with the newly created parameter
- Use the 3 dot action menu to edit, delete or disable/enable any parameters
Operational parameter action menu
Configuring Amazon Connect Contact Flows
Invoke An AWS Lambda Function Node
- Type the ARN from the configuration above in the ARN dropdown.
- Add a Function Input Parameter, setting the
Destination Key
tocontactCentreId
, with theValue
being your contact centre ID, which can be found on your contact centre summary page. - Add a second Input Parameter, setting the
Destination Key
toparameterNames
andValue
being an array with the name(s) of your parameter(s) you want to retrieve the value of. Note - you can request up to 10 at a time. - Set
Timeout
to8 seconds
. - For
Response validation
, chooseJSON
.
Lambda configuration in the contact flow
JSON Response
The JSON response you will get back when querying parameter values will be in the following format:
{
"statusCode": 200,
"parameters": {
"0": {
"name": "{PARAM_NAME}",
"statusCode": 200,
"value": "{PARAM_VALUE}"
},
"1": {
"name": "{PARAM_2_NAME}",
"statusCode": 200,
"value": "{PARAM_2_VALUE}"
}
}
}
The numbered keys inside the parameters object reflect the indexes of the parameter names you requested.
In the above example, the request parameterNames would be ["{PARAM_NAME}", "{PARAM_2_NAME}"]
.
Contact Flow References
- To check overall status of the return, check
$.External.parameters.statusCode
- To check for specific parameter return status, check
$.External.parameters.0.statusCode
. Note - the number references the place in the input array of parameters, 0 being the first. - To access specific parameter values from Connect Contact Flow, using the above as an example, use
$.External.parameters.0.value
- Per standard Contact Flow design, this JSONPath naming can be used in any Amazon Connect Contact Flow block that supports this. See here for more information: https://docs.aws.amazon.com/connect/latest/adminguide/connect-attrib-list.html
Implementation Guidance
Some further notes and guidance around design of Operational Parameters:
- Where possible, avoid storing long JSON or pipe-delimited values as text. It is easier to store multiple keys values pairs, as up to 10 can be retrieved in one request.
- You can (and should) use dynamic key names. For example, if you want to lookup a key name that relates to the current Dialled Number, or Customer ANI/CLI, then you can achieve this by passing in a contact attribute in the 'parametersNames' parameter - e.g. ["$.FlowAttributes.DNISLookupKey"]
- In this example, a flow attribute 'DNISLookupKey' is set, with a value of $.FlowAttributes.OPPrefix$.SystemEndpoint.Address. This concatenates $.SystemEndpoint.Address with another pre-defined attributes 'OPPrefix', with a value such as 'DNIS_Line_'
Using the above an example, in summary the following attributes would be set:
- $.FlowAttributes.OPPrefix = 'DNIS_Line_'
- $.FlowAttributes.DNISLookupKey = $.FlowAttributes.OPPrefix$.SystemEndpoint.Address = DNIS_Line_+112456465