Skip to main content

Notifications

Copilot Studio - General
Answered

Customize an "Escalate" contact list based on most recent topic viewed

Posted on by 39

I'm developing a bot for use inside an organisation that has different support teams for the different company functions (IT, HR, payroll, resourcing etc.).

The bot has a number of different topics but all of them finish up with a "more info" step that presents the user with a clickable URL for a guide, a policy or an intranet page where the topic they've been finding out about is more fully described.

And of course the bot, after presenting the "more info" step asks "did that answer your question", and if the user replies "no", redirects through Confirmed Failure to Escalate, which presents a list of the different support teams with phone and email info for each (using power automate to format as a Markdown table).

I was asked if the contact list could be shortened to show the one of two departments that the user should contact, based on the "more info" they've just been shown - for example a more info about annual leave should show the contact details for the HR team, while one for the impact of maternity on your pay might show HR and Payroll.

I can imagine that one way to do this would be to pass a "ContactDept" variable from the originating topic through More Info > End of Conversation > Confirmed Failure > Escalate, but that would mean changing the system topics to have a ContactDept question as the first node ... probably not a good idea, especially as they can be triggered directly.

 

Or I could implement a set of "shadow" topics that contained the ContactDept variable and the same logic as the system topics, leaving the system topics with their triggers and a single step redirecting to the shadow version with a "show all contacts" value for the ContactDept - my topics would use the shadow topics instead of the system topics. But would that cause an issue with any system-related actions associated with the system topic (like flagging success/failure)?

One other potential would be to use some kind of session cookie/browser storage that could be set by the originating topic and retrieved by the Escalate topic. Is that possible in PVA or with Power Automate?

Categories:
  • MisterBates Profile Picture
    MisterBates 39 on at
    Re: Customize an "Escalate" contact list based on most recent topic viewed

    Thanks @HenryJammes I'll wait until the unified authoring canvas is moved to production.

  • HenryJammes Profile Picture
    HenryJammes on at
    Re: Customize an "Escalate" contact list based on most recent topic viewed

    @MisterBates, in the production version of PVA there is no supported way of achieving this.

     

    However, there are unsupported hacks to remove trigger phrases - the issue is that as it's not officially documented, support and product teams may turn down support requests if they're caused by these customizations.


    See: Solved: Re: Add Trigger Phrases to a Default System Topic - Power Platform Community (microsoft.com)

    HenryJammes_0-1677253682475.png

     

     

  • MisterBates Profile Picture
    MisterBates 39 on at
    Re: Customize an "Escalate" contact list based on most recent topic viewed

    Thanks @HenryJammes.

     

    Is there any way to edit or remove the trigger phrases from a system topic? If I could do that, I could add the ContactDept variable to each of the system topics and create "ghost" topics to house the trigger phrases and setup the variable prior to calling the system topics. That way, the triggered topics would record the triggering of the appropriate system topics for analytics.

  • HenryJammes Profile Picture
    HenryJammes on at
    Re: Customize an "Escalate" contact list based on most recent topic viewed

    You're right not to use the preview version in production - but yes, in the future it will allow you to address that challenge and updating an existing variable value easily.

    In the production version, I'm not sure we can use the Bot Framework Composer dialogs to set an existing PVA variable to a new value, maybe something to explore.

     

    Using 'child' topics is an option, although, as you pointed out, the native analytics dashboards focus on the triggered topics, not the redirects.

  • MisterBates Profile Picture
    MisterBates 39 on at
    Re: Customize an "Escalate" contact list based on most recent topic viewed

    Hi @HenryJammes,

     

    Thanks for your reply.

     

    I did consider using a global variable, but the drawback is that once set, it's set for the session. Which creates a constraint that the contact info will only thereafter give contact details for the *first* time the user passes through a "more info" topic. If they respond "no that didn't answer my question" then type a different question or rephrase their question and try again, they may end up passing through a "more info" a second time and the supporting team may be a different team ... a global variable won't work in that scenario.

     

    If I go with my second option, build the "ghost" equivalents, redirect the system topics to the equivalent "ghost" topic and always use the "ghost" topics at the end of my conversation flows, will not passing through the system topics (as I need to pass the context along the chain) cause any issues with analytics etc.?

     

    Also, good to know that the unified authoring canvas may provide a solution, but we've decided not to use it for a production solution while it's in preview - it's not a solution I can use right now 😢

  • Verified answer
    HenryJammes Profile Picture
    HenryJammes on at
    Re: Customize an "Escalate" contact list based on most recent topic viewed

    Hi @MisterBates,

     

    I believe you highlighted the right options to cover this requirement.

    If you have context on where the 'Escalate' came from, I would pass it as a global variable and customize the Escalate topic accordingly.

     

    In the unified authoring canvas, now in preview, you can set new variables without having to ask a question: Use variables (preview) - Power Virtual Agents | Microsoft Learn.

     

    Henry

Helpful resources

Quick Links

Welcome to the Power Platform…

We are thrilled to unveil the newly-launched Power Platform Communities!…

Getting Started…

Welcome to the Power Platform Community! We appreciate your visit…

Welcome to the new Power Platform Community!…

We are excited to announce our new Copilot Cookbook Gallery in the Community…

Leaderboard

#1
WarrenBelz Profile Picture

WarrenBelz 138,287

#2
RandyHayes Profile Picture

RandyHayes 76,308

#3
Pstork1 Profile Picture

Pstork1 63,172

Leaderboard