2

I've been trying to implement CDC on User entity, to handle "CREATE" event changeType unsuccessfully. I was able to receive "UPDATE" notification, but when I create a User (internal/partner user) nothing happens, there's no new log entry in Developer Console for Automated Process user. I couldn't find any problem related to this and according the CDC Developer Guide I shouldn't have trouble doing it. Everything suggests that it's possible...

This is what I have done:

1) Set up debug logs for the Automated Process entity.

2) On the Change Data Capture page in Setup, enable change notifications for the User object.

3) Create UserChangeTrigger on UserChangeEvent:

trigger UserChangeTrigger on UserChangeEvent (after insert) {
List<Task> tasks = new List<Task>();
Task tk;

// Iterate through each event message.
for (UserChangeEvent event : Trigger.New) {
    // Get some event header fields
    EventBus.ChangeEventHeader header = event.ChangeEventHeader;
    System.debug('Received change event for ' + header.entityName + ' for the ' + header.changeType + ' operation.');

    // For create operations, create a followup task
    if (header.changetype == 'CREATE') {
        tk = new Task();
        tk.Subject = 'Follow up on created user record(s): ' +
            header.recordIds;
        tk.OwnerId = header.CommitUser;
        tasks.add(tk);
    }
    // For update operations, we can get a list of changed fields
    else if (header.changetype == 'UPDATE') {
        System.debug('List of all changed fields:');
        for (String field : header.changedFields) {
            if (null == event.get(field))
                System.debug('Deleted field value (set to null): ' + field);
            else
                System.debug('Changed field value: ' + field + '. New Value: ' + event.get(field));
        }
    }
}

// Insert all tasks in bulk.
if (tasks.size() > 0) {
    insert tasks;
}

}

4) Create Users (tried with internal and partner users and nothing happened). Showing up next a user deactivation execution log: execution log screenshot

0 Answers0