Process automation trigger - limit

Hello guys,

Is there limit regarding the number of trigger we can create for an organisation?
In my use case, I need to create a different trigger for every user (20 people)

thanks
jeremy

Here are the limits for triggers: https://developer.genesys.cloud/organization/organization/limits#event-orchestration

Hi Ebenezer,
I have seen this help but cannot see where is mentionned the maximum number of trigger allowed by organisation.
thanks
jeremy

"triggers.max", which defaults to 100.

Also, I am curious. Why create triggers for each user instead of handling the per-user logic in a workflow?

--Jason

Thanks, I would like limit the number of start the workflow, it means avoid to start trigger for each interaction (the condition is on the wrap up code filled by agent) . That's why I would like use the userid when I create the trigger.

Assuming that each of your triggers has a match something like this:

{
  "jsonPath": "userId",
  "operator": "Equal",
  "value": "Tom"
}

You should be able to merge them into one trigger using "In" like this:

{
  "jsonPath": "userId",
  "operator": "In",
  "values": ["Tom", "Jerry"]
}

Examples of using the "In" operator are here: https://developer.genesys.cloud/platform/process-automation/example-match-critera#in

--Jason

Hi Jason,

Thanks with your input we can can configure multiple userid in the same trigger.
Neverthless, Is it possible to know if we specify multipe UserId ["Tom", "Jerry"], which userId is responsible for the starting of the workflow? Because in my use case, I need to know which userid Tom or Jerry is responsible for the starting trigger for other treatment in the workflow(time spent for a specific media type,...).

BR
jeremy

You can configure your trigger to send the entire JSON payload to your workflow, at which point you can grab anything you want from the notification. This example is configured that way:

--Jason

Thanks Jason!
I have followed your guideline

1 - Create trigger

"topicName": "v2.detail.events.conversation.{id}.acw",
"name": "LIMIT CALL DURATION 1H",
"description": "This will trigger when a agent wraps up voice interaction",
"enabled": true,
"target": {
"id": "1c61a433-264f-4fb7-9c22-ff9e3dc92395",
"type": "Workflow",
"workflowTargetSettings": {
"dataFormat": "Json"**
}
},
"matchCriteria": [
{
"jsonPath": "userId",
"operator": "Equal",
"value": "48f00d31-3b18-4c9d-9912-4333b053a697"
}
]
}

2- Update the workflow with new jsonData variable
In my the workflow, I have created a input variable named jsondata
image

3 - Result
If I retrieve the variable flow.jsondata in a set participant data => the workflow is not started
If I use Use a dataFormat of TopLevelPrimitivesinstead Json in the trigger creation => the workflow is started but the variable flow.jsondata is empty.

any idea?
thanks!!
jeremy

I have some experience using Architect, but I am not a total expert. I would expect that you would need to use the GetJsonObjectProperty method to dig into the jsonData object to get out what you want (like agent name). Once you have gotten to the data you want, you might need to use ToString as well in order to be able to store the result with "Set Conversation Data" (I am not sure how Architect handles this). We should probably look into adding some Architect coverage to our example.

If this doesn't get you going, you could definitely get some help with these sorts of questions in the Architect area of the forum.

--Jason

Thanks Jason,
I have succeed to retrieve the userid but using "dataFormat": "TopLevelPrimitives", for unknown reason when I use "dataFormat" : "Json", the workflow crashes.

jeremy

In the screenshot above it shows the jsonData being used in a "Set Conversation Data" action. How are you trying to use it?

Hi Jason,
Even if I delete the set conversation data in the workflow, the system crashes so not due to this action.
I have opened a ticket to Genesys
jeremy

Am I interpreting that the "triggers per hour" limit would mean that we could only use the conversationId one for the first 100 conversations in a given hour, or is that limit per conversationId? I'm trying to decide if we have a trigger/workflow that handles all similar processing in one flow, or if we're better off chunking the logic to separate it by use case.

In my case, I want to build a trigger to do stuff when a call abandons in queue. So I'd need to trigger an either customer.end or acd.end, but if I have other logic I want to do on acd.end, should I create a separate trigger or should I just do everything in a single workflow?

Take a peek at this thread:

v2.detail.events.conversation.{id}.whatever

"the {id} would be the entity. So the per hour limit of 100 would apply to a specific conversation in the above example. Each conversation is its own entity."

Ah, thank you for the cross-reference there. That's very helpful.

When I go to create that trigger in the API, I only need to do that once with {id} as a literal string in the trigger, not {the actual ID} for every conversation, right? If we had to create a trigger for every conversation, I assume we'd need to do that in a data action at the top of the architect flow.

That's right! Just create it once, and it will flow for all conversations (as long as there are no json filters). :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.