Skip to main content

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.

Operations 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.

info

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.

Parameters list

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.
info

Parameter name must be unique and can only contain letters, numbers and – _ +

Add operational parameter modal

Add operational parameter modal

  • Your new parameter will appear in the parameters list on the operational parameters list page.

Parameters list with new parameter

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

List parameters page with action menu

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 to contactCentreId, with the Value being your contact centre ID, which can be found on your contact centre summary page.
  • Add a second Input Parameter, setting the Destination Key to parameterNames and Value 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 to 8 seconds.
  • For Response validation, choose JSON.
screenshot

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