You are here: Use Connect > External Data Access Node

External Data Access Node

This node accesses data from an external resource and pulls the returned values into a Clarity Connect extra item variable, which can then be referenced throughout the call flow.

How It Works

Select the desired External Data Type. Clarity Connect will prompt for a database connection string or web service URL prior to connecting.

In the query or parameter strings, use the syntax {{VariableName}} to use locally-assigned variables and {{SYSTEM.SystemVariableName}} to speak system-defined variables, including CustomerFullName, CallerPhoneNumber, CustomerIdentifier, and OriginalToUri.

In the Timeout field, enter the number of milliseconds Clarity Connect will wait for the service to respond.

Additional options allow the user to select whether the session sends to the next node upon either an error or call completion, as well as how to handle single, multiple, or no results. The Coalesce node may be used if multiple results are returned from the query.

Click Assign Return Values. This displays all potential return values from the external access call and allows the user to assign them to an extra item by typing the name of the variable.

Extra Items

When creating a query in the call flow editor, use an actual value guaranteed to return results. For example, when querying first names, enter a real name that will return results. After entering the query and allowing it to map, click Assign Return Values and replace the actual value with the extra item syntax.

Do not click Assign Return Values a second time after replacing the actual value with the extra item syntax. This will erase the mapping.

When performing a query on a database, only SELECT is supported; DROP and DELETE are not supported. The results returned from the external call can be utilized by assigning a VariableName to a result field and then using the syntax {{VariableName}} to access the value elsewhere in the flow.

If no extra item placeholders are present, the node executes the query as is.

Security

SSL 3.0 is supported, along with Transport Layer Security (TLS) versions 1.0, 1.1, and 1.2, but these must be explicitly defined. Clarity Connect supports the security level of the contracted service for HTTP and WCF web services. TLS may not work in conjunction with an older service.

Data can be transferred over secure channels to comply with PCI standards, if desired.

External data Type

The External Data Access node supports connecting to a SQL server database, Windows Communication Foundation (WCF) Web Service, and HTTP Web Service.

Database

From the External Data Type drop-down menu, select Database (Figure 1). Additional fields will prompt for both a SQL server database connection string and the query to run.

In the Database Connection String field, include the server, database, and username and password, if applicable, using the format below. A database administrator can provide this information if needed.

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

Enter the query and then click Assign Return Values.

Figure 1 Database data type

HTTP Web Service

From the External Data Type drop-down menu, select HTTP Web Service (Figure 2). Enter the full URL for the HTTP Web Service Address, and then click Assign Return Values.

Figure 2 HTTP Web Service data type

WCF Web Service

From the External Data Type drop-down menu, select WCF Web Service (Figure 3). Enter the full URL for the WCF Web Service Address in the additional field and then click Read WSDL. Select Contract and Method from the drop-down list and enter any parameters that should be sent to the service call.

Click Assign Return Values.

Figure 3 WCF Web Service data type

There are several things to keep in mind when using the WCF Web Service data type:
  • An existing WCF service is required to use the WCF Web Service data type.
  • This node works best with WCF services that accept built-in parameter types. This node does not perform force-verification parameter types. The node attempts to convert whatever is entered in the field to the necessary parameter type. If it fails, the call will be sent to an error node and fail.
  • Data is stored along with the parameter name.
  • Any .NET data type is supported (no custom data types).
  • Lists and numerations are not supported.