Insight into use of branch in Flow?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2025-03-06 03:12 PM
Hello Community. I recently added (to both my voice flow and a messaging/webchat flow) a branch that consumers could select to follow, that simply provides them with a website address they can visit, to receive instructions on how to install our software. This branch does not end in a queue, but rather in a "SendMedia" with url to a website. Why did we add this? One of our top call drivers is an ask for install instructions. We're hoping to minimize the count of these unnecessary engagements to the queue.
Now that I've added these branches to the flows, I want to be able to see how many people are visiting them.
I do not see a way to do so in the existing Reporting, and Zoom Support says it's not possible.
Do you, as a community, have any ideas on how this can be accomplished? I'm open out-of-the-ordinary ideas. Maybe there's something I can add to the flow that creates a flag of some variety, and then I can get a count of flags created during a time period?
Also, in the Flow reporting/analytics, what does "Contained" mean? I'm assuming my new branches are getting reported as such, but I do not know if there are other scenarios that result in a "Contained" flow result. Is there a way for me to see a report of how many flows ended in "Contained" in January and compare that to February?
Thoughts? Thank you!
- Topics:
-
Analytics and Reports
-
Flow Editor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2025-03-07 04:45 PM
I think I may have found a solution. I added a custom variable at the beginning of the branch I want to track. Hoping to track counts of this specific variable. Time will tell if it helps. I'd still love to know what "Contained" means when it comes to flow analytics. If anyone else has any ideas, I'm all ears!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2025-03-14 03:57 PM
I like the idea of the variable but have you considered using the built-in JavaScript capabilities by using the ZCC Widget "Script"?
I was playing with MS CoPilot and I got a small script that maybe you can use; it will require some more work that what I am proposing here, but you could automatically update/change the Engagement Disposition and then you could simply run a report of all the Engagements with that disposition you created: i.e. "Self-Service_URL"
Here the instructions (I got to be tested, of course):
- Log into the Zoom App Marketplace.
- Click on Develop and then Build App.
- Select OAuth as the app type.
- Fill in the required information such as app name, redirect URI, and permissions (scopes) needed for your app.
- Generate your Client ID and Client Secret.
For OAuth 2.0 authorization, you will need to obtain an access token. Here’s an updated example script using OAuth 2.0:
This is the JavaScript code:
const axios = require('axios');
async function getAccessToken(clientId, clientSecret) {
const response = await axios.post('https://zoom.us/oauth/token', null, {
params: {
grant_type: 'client_credentials'
},
headers: {
'Authorization': 'Basic ' + Buffer.from(clientId + ':' + clientSecret).toString('base64'),
'Content-Type': 'application/x-www-form-urlencoded'
}
});
return response.data.access_token;
}
async function setDisposition(engagementId, dispositionId, accessToken) {
const response = await axios.post('https://api.zoom.us/v2/contact_center/engagements/' + engagementId + '/dispositions', {
disposition_id: dispositionId
}, {
headers: {
'Authorization': 'Bearer ' + accessToken
}
});
return response.data;
}
// Replace with your actual client ID and client secret
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
(async () => {
const accessToken = await getAccessToken(clientId, clientSecret);
await setDisposition('ENGAGEMENT_ID', 'DISPOSITION_ID', accessToken);
})();
This script first obtains an access token using the OAuth 2.0 client credentials grant type and then uses this token to set the disposition for the engagement.
I hope you have the time to test this and see it it works.
Vinnie.
