I've got a very simple Platform event published by Apex code, and a subscribed Process Builder receiving it.
Transcript_Request__e patEvt = new Transcript_Request__e();
patEvt.Enrollment_Id__c = 'a0803004000VyFZAA5';
Database.SaveResult sr = EventBus.publish(patEvt);
Process Builder fired upon Platform event dispatch by Salesforce Internal user.
But when I dispatch Platform event as Community user, It doesn't seem to run. I can see following success message in Community user debug log.
20:43:16.0 (32893554)|VARIABLE_SCOPE_BEGIN|[16]|sr|Database.SaveResult|true|false 20:43:16.0 (32955631)|VARIABLE_ASSIGNMENT|[16]|sr|{"success":true,"id":"e00xx0000000001AAA","errors":[{"status":"OPERATION_ENQUEUED","message":"7af7599b-04f9-49c3-8 (16 more) ..."}]}|0x5fcca34d
And Database.SaveResult.Errors has one record with below:
20:43:16.0 (33820259)|VARIABLE_ASSIGNMENT|[21]|err|"Error [statusCode=OPERATION_ENQUEUED, code=[xmlrpc=-1, statusCode=OPERATION_ENQUEUED, exceptionCode=null, scope=PublicApi, http=202], message=7af7599b-04f9-49c3-897a-dacf6bbc9c81, fields=null]"|0x206cef35
Seems we can't query EventBusSubscriber as Communtiy, therefore I'm assuming we can't publish Platform events.
Any thoughts if Platform Events are supported for Customer Community or Customer Community Login users?
I couldn't find any Docs which says it's not supported.
If not supported, is there any workarounds to use them in Community? e.g. publish using apex, consume by Process Builder.