Wednesday, June 29, 2011

Call lists: Call list synchronization

When implementing call lists, you have the choice to either work with or without activities linked to the calls. Whether you link an activity to the call or not depends on what role the call has in the customer process.

Probably the biggest benefit of working with activities linked to the call is that calls by themselves are not visible on the customer overview, while activities are. If you choose not to implement activities linked to calls, users will not be able to see that a customer has been selected to be called from the call list. They will see the standard interaction record though if this was created by the user during the call.

Other benefits of the use of activities in call lists would be for instance that the status and the reason of the call can be maintained in the activity, as well as a long text on the call. Furthermore, a campaign can be attached to the activity, if the activity is linked to a marketing campaign.

If you decide to implement call list synchronization, you will need to implement call list synchronization as well.

Call list synchronization is the synchronization of the status of the call between the actual call and the linked activity.

Calls unlike activities have a predefined set of statuses.
  • C – Created --> New Call
  • L – Locked --> Call has been selected by an agent
  • R – Ready --> Call is ready to be selected by an agent
  • I – Initiated --> State between Ready and Locked (lock availability is checked)
  • E – Executing --> Call is in process
  • D – Completed --> Call was successful, no further action on this call
As mentioned in a previous post, not all statuses need a mapped activity status.

Even though you can define different mappings from call to activity of the mapping from activity to call, this is not recommended. Keep the mappings both ways as alike as possible.

Synchronisation from call to activity is triggered in the standard coding in class CL_IM_CRM_CLM_BTX_SYNC

Synchronisation from the activity to the call is triggered in the action definition CLM_BTX_SYNCHRONIZATION.

As there are hardcoded constraints between status changes in the call state, you should bare these in mind when customizing the call state mapping…

Whether or not a call state change is allowed is checked in class CL_TM_CLM_INTERACTION.

The following transitions are allowed:

The green status transitions above are also allowed if the user is not the call’s lock owner. The lock owner is set when the agent selects the call from the call list.

These hardcoded rules can influence the working of the call list synchronization if not carefully customized. In some cases, the transaction status might be changed, leaving the call state out of sync, as the state transition is not allowed.