Set Participant Data action

This action is available in the Data category of the task editor’s Toolbox. Call participants can have attributes, or “participant data” assigned to them. In Architect, a participant is the caller on an inbound call flow, or the call recipient on an outbound call flow.

About attributes

An attribute is a piece of information about a participant that travels with it throughout the interaction. In contrast to flow variables, participant data attributes persist between transfers from one call flow to another. For example, the caller’s telephone number (Call.Ani) does not persist if the interaction is transferred to another call flow. However, if the information is stored into participant data, it can be accessed by subsequent call flows.

Each participant data is a name/value pair. These pairings are strings controlled by the flow author. To set an attribute, specify its name and a string value to assign to the attribute. These participant data attributes are most useful for information that must persist beyond the current call flow. For example, information accessible from a different flow or information that leaves Architect altogether, such as Genesys Cloud for Salesforce, which receives screen pop URL information set via Participant Data.

  • Attributes are case-sensitive. If you use an existing attribute in another part of the flow, ensure you match the case of the original attribute.
  • Analytics does not save attributes that are set after the conversation completes. If the conversation and segments complete, analytics cannot reopen the conversation to save the changes. For example: 
    1. The incoming call and the inbound flow are active, and some participant data is written in the flow, synchronized in Conversation Services and Analytics Services.
    2. The system transfers the call to a queue and it waits. The in-queue flow is active and some participant data is written in the flow, synchronized in Conversation Services and Analytics Services.
    3. The call rings and an agent accepts it. The agent script contains some participant data, synchronized in Conversation Services and Analytics Services.
    4. The customer disconnects and the agent reaches the wrap up state. The agent script, triggered by the output variable in the script, includes more participant data, synchronized in Conversation Services, but not Analytics Services.
    5. The agent completes wrap up and the interaction view closes for that agent. Over API, another participant data for that interaction and that agent participant is set and synchronized in Conversation Services, but not Analytics Services.

    The Set Participant Data action in a task assigns an attribute value on an interaction participant. For example, if you have a Call Data action that looks up information for a caller, use the Set Participant data action to save the results of what the Call Data action looks up. If Architect transfers the interaction to another flow, the second flow can recall the information through Get Participant Data action so that the Data action need not be repeated.

    Note: When an attribute is recalled via Get Participant Data, ensure the attribute name matches exactly the Set Participant Data name from the prior flow. Architect does not auto-complete Participant Data names across call flows–copy and paste the case-sensitive names to ensure a precise match.

    If Set Participant Data Action sets a participant attribute value during a call, then the value set is the value read on subsequent Get Participant Data action calls, even though the value set is not updated in the Cloud until flow termination. For example:

    1. If the flow issues a Get Participant Data action with “Foo” as the attribute name, the Cloud returns “Hello”, so that variable bound to “Foo” in the Get Participant Data action is set to “Hello”.
    2. The flow then issues a Set Participant Data action with “Foo” as the attribute name and “Goodbye” as the value.
    3. The flow then repeats issuing a Get Participant Data action with “Foo” as the attribute name, the Cloud returns “Hello” as before, since updates made via Set Participant Data are queued and only sent to the cloud just prior to termination. However in this case, the variable bound to “Foo” is set to “Goodbye” because Get Participant Data uses any queued-for-update values before it uses what the cloud returns.

    Action Description and use


    Type a distinctive name for the action. The label you enter here becomes the action’s name displayed in the task sequence.

    Add attribute to set

    Click next to Attribute to add a Name/Value pair configuration for an attribute. Multiple attributes (“participant data”) can be created and saved in a single Set Participant Data action.

    Attribute Name

    Assign a name to the attribute. The attribute name is a string literal and cannot be left blank (empty). This name must be copied exactly to any Get Participant Data action that is to retrieve the value.

    Value To Assign

    Attribute (participant data) values are string literals or expressions, such as built-in call variables, flow variables, or task variables you have created. Use the literal editor or expression editor to assign a string, variable, or expression value to the attribute. 

    • In some cases, the attribute value of a participant may change while the participant proceeds through a flow that also changes the attribute value. The updates made via the Set Participant Data action are queued in memory until just before flow termination.
    • Updates go to the Cloud in one batch. If multiple Set Participant Data action calls occur by a flow against the same attribute, the value set in the last call wins.