- 1 Overview
- 2 How session types relate to session attributes
- 3 Use a projection to present a consolidated view of multiple data points
- 4 Create a session attribute
- 5 Operators for session attributes
- 6 Projection example: Multiple custom events and projections for one session
Learn about the building blocks you use to design the session cards that agents see.
- Configure the following permissions in Genesys Cloud:
- Journey > Session Type > View
- Journey > Session Type > Add
- Journey > Session Type > Edit
- Journey > Session Type > Delete
- Journey > Event Type > View
- Journey > Event Type > Add
- Journey > Event Type > Edit
- Journey > Event Type > Delete
A session attribute is a piece of summary data about a web session or custom session. For example, the total number of items in a shopping cart. Agents see session attributes across the top of a session card.
In the Session Library, you must create each session attribute that you want to appear on the session card that agents see. Later, when you design the session card, you will configure which session attributes appear on the session card, and in what order.
For example, the following table lists the session attributes and corresponding values for the Bike delivery scenario. In our case, we always want to show the order Id of each session on the session card that agents see.
|Customer name||Gwen Brown|
|Item number (SKU)||1234567891011|
|Item description||Women's bike|
|Cart items||[helmet, bike, gloves]|
How session types relate to session attributes
When you send a custom event to Altocloud via the Custom events API, the custom event specifies the session type. When we receive a custom event request that includes a new session type, we automatically create the session type. You can also use the Session types API to proactively define session types. For information about how to do this, see the Session types API in the Developer Center.
Use a projection to present a consolidated view of multiple data points
Because custom events are specific to each organization, they can provide a wide variety of data to Altocloud. This data comes as event-specific attributes. In some cases, agents and customers need to see a different level of detail. Altocloud allows you to present session data in a way that is meaningful to agents.
For example, if a customer buys a bike, helmet, and gloves, there are multiple order_placed customer events (one custom event per item ordered). If the customer calls the Help Desk, an agent should be able to review the session card and quickly tell the customer when the items will be delivered.
To make this possible, configure a projection that renders all of the order_placed attribute values as a single list.
- Developer: Use the Custom events API to send custom events with event attribute values from an external system. Use the Session types API to define the projections to transform event attributes.
- Admin: Use the Session Library to create a session attribute that renders the event attributes in a meaningful way.
- Admin: Configure the session cards to display the session attributes to agents.
In order to create a projection, the following data must be provided by the custom event:
- Session attribute name
- Session attribute data type: String, Number, or Boolean
- Operator to perform the projection. For a list of operators, see Operators for session attributes.
- Name of the event that triggers the projection
- Event attribute for the projection
ExampleMultiple custom events and projections for one session
Create a session attribute
- Admin > Altocloud > Session Library > session name.
- Click the Session attributes tab.
- Click Create session attribute.
- In the Display name box, type a meaningful name for the attribute. Agents will see this name.
- By default, the Name field matches the Display name field, but with no spaces or special characters. This second name is used as identifier in the API and when configuring integrations. To change this name, use a unique alphanumeric string with underscores (no spaces). After you save the session attribute, you can change the display name, but you cannot change this identifying name.
- In the Render as list, select the display format for the attribute. For example, should the attribute be treated as a text field, a number field, or a clickable link.
- In the Operator list, select the operator that determines how session attribute values are handled in the context of the overall session.
For example, if you are updating your shopping cart with a session attribute value, you would use the Add to set operator; the Add operator would overwrite the items that are already in the cart.
- In the Value list, select the custom event. There could be multiple custom events in the session, so pick the one that applies. Then select the event attributes that you want to select for this custom event.
- Click Create.
Operators for session attributes
|Operator||Data types||Use the value of the current session attribute to...||Example|
|Add||Numeric||add to the stored value the amount of the current session attribute||Recalculate the shopping cart total by adding the value of the new item.|
|Add to list||Alphanumeric||add the current session attribute to the existing list of attribute values||Display a current list of shopping cart items that include all previously added items and the new item.|
|Add to set||Alphanumeric||add the current session attribute to the existing set of attribute values. The values in this set are unique. If a session attribute value is updated multiple times with the same value, the value appears in this list only once.||Display the approvers of the mortgage.|
|Decrement||Numeric||reduce the stored value by 1||Display the number of deliveries completed.|
|Increment||Numeric||increase the stored value by 1||Display the number of deliveries outstanding.|
|Set||Alphanumeric||change the stored value to the current value||Display the current status of a mortgage application as it moves through the approval process (Submitted, Pending review, In review, Accepted).|
|Subtract||Numeric||subtract from the stored value the amount of the current session attribute||Recalculate the shopping cart total by subtracting the value of the new item.|
Projection example: Multiple custom events and projections for one session
The following example illustrates how projections are used with custom session that is comprised of multiple custom events.
Suppose agents want to see the current status of an item's delivery, along with a list of all of the products a customer has purchased during a given session. This information is dynamically updated as custom events for a Delivery of an order session arrive, provided that the custom events provide the necessary data.
|Required information for the List of all products purchased session attribute||Value|
|Session attribute name||item ref numbers|
|Session attribute data type||String|
|Name of the event that triggers the projection||order_placed|
|Event attribute for the projection||item ref numbers|
|Required information for the status session attribute||Value|
|Session attribute name||status|
|Session attribute data type||String|
|Name of the event that triggers the projection||all custom events|
|Event attribute for the projection||status|