Microsoft Dynamics Screen Pop to the Activitypointer/Timeline

Good Day Team,

I need to know if anyone in forum has been able to do dynamics screen pop to the activities/timelines created activity (activitypointer) view instead of contacts?

A clients requirement is that on call connect to agent we need to screen pop a phonecall activity, populated with the callers ANI, agent call routed to ,callers contact, creating this activity and binding to both agent and caller is working fine its trying to pop that activity to agent on call connect that seems to be the issue.

This works fine if I’m screen popping to the contacts or any of the standard listed e.g case,invoice, contract but cannot seem to get it to work for activities

My approach

  • I create a phonecal activity, this I bind to both agent and the caller, this works fine and I can see it in CRM
  • On my BP screen pop I then do my pop to activitypointer and pass the activity id to the object identifier

Dynamics shows this error instead of the screen pop:

This is a system entity that does not have a main form. Opening a record form for this entity is not supported.

Error code: 0x83215613Session Id: 447cda8d-8564-4360-b65b-a51d535e4004Activity Id: 0ae89ec6-6d2c-447a-a627-2dc9431bc147Time: Fri Oct 28 2022 08:00:50 GMT+0200

I think this might be a dyamics restriction as error says. But if anyone has had success to screen pop to an activity/timeline, assistance on how it was done would be appreciated

Workaround for now is we create the activity under timeline, we screen pop the contact to the agent, on agent connect the agent will then open the last activity in timeline, update and resolve as that would be the one we created for their current interaction

Thanks,
Meli

Hi guys,

I was able to find a fix to this, it appears that the activitypointers as described in MSD365 is storage as array as such you cannot create records directly in it, instead you need to create records against related entity view e.g. phonecall, emails, task, appointment, not

Changing my screenpop object type to phonecall instead of activitypointers sorted out my screenpop issue

Scenario:

  • Client dials CC
  • On call answer by agent we then present a 365 screenpop
  • Screen pop to be binded to agent as to and caller as from/regarding as contacts
  • The screenpop must be directly on the entity view e.g phonecall, so agent just completes rest of the non populated fields, with rest auto populated by BP e.g Subject,from, to,ANI,direction,GUID,InteractionID
1 Like

great, are you able to share scenario here for others to use and reference ?

Good Day Jovi,

I will try to provide the sceanrio/workflow once finalized, but the script below should give you an idea.

This you passing the callers and agents contact id after lookup in D365, this you can use as part of your create or update

-Scenario: Create a phonecall record and pop the record to agent on call answer for them to finalize and resolve
-Workflow: Create a phonecall record when agent resolves/finalise interaction and writeback to D365 the phonecall record, BP follows this approach but they don’t bind the agent from/to instead makes use of the bpattern_agent field to refence the agent that received/dialed the call.

I will provide scenarios for you once done, busy with some changes on my design

{

       regardingobjectid_contact@odata.bind : "/contacts($(CRM_contactid))"
       
            
        "directioncode": false,   //false =inbound, true=outbound
        "phonenumber": "$(phoneNumber)",       
        "new_destination": "$(item.to)",  
        "bpattern_interaction_id":"$(item.interactionId)",
        "bpattern_global_interaction_id":"$(item.globalInteractionId)",
        "bpattern_agent":"$(user.loginId)",
      
     
"phonecall_activity_parties": [
	{      
		"participationtypemask": 2,  //1 = from, 2=To,3=CC,4=BCC 
		"partyid_contact@odata.bind": "/systemusers($(CRM_agentid))"      //Agent
	},    
	{      
	    "participationtypemask": 1,   //1 =from, 2=To,3=CC,4=BCC
		"partyid_contact@odata.bind": "/contacts($(CRM_contactid))"      //Caller
	}  
]

}

1 Like