SFDC shows Calls as "Task" not "Call" How do I correct this?

I just got asked by a SalesForce team if it was possible to have new inbound Calls show as "Call" instead of "Task". According to their documentation, there is something we need to set in Genesys to set "TaskSubType" to be "Call" versus "Task", which is what Genesys sends now. I can't find ANYWHERE in Genesys Cloud where there are adjustable mappings for the SFDC integration.

Has anyone else run into this?

I don't believe you configure that anywhere in Genesys Cloud but instead in the Managed Package and Call Center setup on the Salesforce side: Set up the Genesys Cloud for Salesforce integration - Genesys Cloud Resource Center

I'm not a Salesforce expert but I feel like it is something in the mapping of interaction attributes to Salesforce activity fields: Map interaction attributes to Salesforce activity fields - Genesys Cloud Resource Center

If all else fails and you can't override the configuration then you can write some APEX code for the SaveLog extension and create any record type you'd like and populate that record with interaction data: Extension points in Genesys Cloud for Salesforce - Genesys Cloud Resource Center

I hope that helps get you started.

Thank you! I have shared that with the SFDC group, and I'll see what they say. They were under the impression that Genesys sends the "task" item that needs to be "call", but they will look into it more.

I am trying to solve the same thing. I was able to create a custom apex class per this link and set the t.TaskSubtype='Call'. However, since I don't know what the original saveLog method does, I am sure I am breaking some functionality. Is there any chance to see what the saveLog method does out of the box so i can copy/paste it and just add my one line of t.TaskSubtype='Call' ?

with this simple implementation of the example code, the task is created with the expected TaskSubtype, but I get this error in the CTI interface after every call.
image

  global with sharing class CustomCTIExtensions implements purecloud.CTIExtension.SaveLog 
  {

public String onSaveLog(String data) {
    Map<String, Object> eventData = (Map<String, Object>) JSON.deserializeUntyped(data);
    Map<String, Object> interaction = ( Map<String, Object>) eventData.get('interaction');
    Map<String, Object> callLog = ( Map<String, Object>) eventData.get('callLog');
    String direction = (String)interaction.get('direction');
    String callLogId = '';

    Map<String, Schema.RecordTypeInfo> recordTypes = Schema.SObjectType.Task.getRecordTypeInfosByName();
    Task t = (Task) JSON.deserialize(JSON.serialize(callLog), Task.class);

    // removed if statement around outbound direction

    // this is the one line added.
    t.TaskSubtype= 'Call';

    upsert t;
    callLogId = t.Id;

    return callLogId;
}

}