Dear all,
I am new to Microsoft Unified Service Desk, therefore please pardon me if i make any mistake.
My scenario is when a call is received by a call center agent in Unified Service Desk then initially he will create a case for the particular customer and initially the caseID will be null therefore call center agent will see a new case window where he can create a case. Once the case is created he will save the details and the caseID will also be saved. Now, in the next step he will transfer the call to the supervisor and in this case the supervisor will not see a new case window instead he will have the details in-front of him of that particular customer that were saved earlier.
I think i might need to use JavaScript and something like below
if(Case id != null) Open case page with associated id else Executejavascripot("url with customer id to create new case")
But how will i achieve that do i have to create a hosted control and is there a way i can execute JavaScript inside hosted control.
Looking forward to your help.
Thanks.
*This post is locked for comments
Thank you soo much for your help.
Both the solutions you provided worked for me. Much appreciated!
Use this code :
Context dataContext = localSessionManager.GlobalSession.AppHost.GetContext();
dataContext ["<<DataParameterName>>"] = <<Data to be passed>>;
localSessionManager.GlobalSession.AppHost.SetContext(dataContext);
FireRequestAction(new RequestActionEventArgs("<<HostedControlName>>", "<<ActionName>>", globalContext));
When i am trying to pass "LogicalName = incident" from my code then the page in USD gets open but it is an empty page.
Also, in my debugger ActionData is empty.
Thank you so very much for your help, it worked.
But one more thing what if i want to pass the data parameters from my xaml code.
I am doing something like this,
var actionData = "LogicalName = incident" FireRequestAction(new RequestActionEventArgs(USDHostedControl, USDAction, actionData));
But it is not working. It gives me below error in my debugger of USD,
Not all parameters in action call UpdateEntity are available, aborting action call.
Looking forward to more help.
Thanks
Follow the steps below
1. Create an action with below settings
Hosted Control : CRM Global Manager
Action : New_CRM_Page
Data : LogicalName= incident
Condition : "[[CASEID]]" == ""
**Note that the CASEID parameter in the condition is same as the one you are receiving from your CTI
2. Create one more action with below settings
Hosted Control : CRM Global Manager
Action : Open_CRM_Page
Data :
LogicalName= incident
id= [[CASEID]]
Condition : "[[CASEID]]" != ""
3. Add both these actions on the even where you are receiving the call. As you have added conditions now, one that specific action that passes the condition will run. Hence if case id is null, New CRM Page will open else existing record will open.
4. In case you are not able to execute it in the above steps and want to implement using JS, you can create an action, Hosted Control : Incident, Action : RunScript, Data: your JS logic
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,253 Super User 2024 Season 2
Martin Dráb 230,188 Most Valuable Professional
nmaenpaa 101,156