cancel
Showing results for 
Search instead for 
Did you mean: 

On April 16, between 2:25 P.M. ET and 4:12 P.M. ET, the domain zoom.us was not available due to a server block by GoDaddy Registry. This block was the result of a communication error between Zoom’s domain registrar, Markmonitor, and GoDaddy Registry, which resulted in GoDaddy Registry mistakenly shutting down zoom.us domain. Zoom, Markmonitor, and GoDaddy worked quickly to identify and remove the block, which restored service to the domain zoom.us. There was no product, security or network failure at Zoom during the outage. GoDaddy and Markmonitor are working together to prevent this from happening again.

Insight into use of branch in Flow?

jaked
Newcomer
Newcomer

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!

 

2 REPLIES 2

jaked
Newcomer
Newcomer

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!

Vinnie
Community Champion | Customer
Community Champion | Customer

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):

  1. Log into the Zoom App Marketplace.
  2. Click on Develop and then Build App.
  3. Select OAuth as the app type.
  4. Fill in the required information such as app name, redirect URI, and permissions (scopes) needed for your app.
  5. 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.