CollaboratorGroupCreated
Fires when a new collaborator group is created via the REST API.
Last updated: June 3, 2026
CollaboratorGroupCreated fires immediately after a new collaborator group is persisted through the REST API. The event marks the birth of the group as a domain entity. At this point the group has a name, a structure, and an id, but no members and no bound programs or distributors yet.
The event ID is collaborator_group_created, and its fully qualified class is Siren\Plus\Core\Groups\Events\CollaboratorGroupCreated. It is fired by the create-group REST endpoint, so a group created by another path does not fire it. To run code when it fires, register a handler with Siren’s event system. See listeners for how to register one and the events introduction for the dispatch model.
What does this event carry?
The event carries one value: the id of the freshly created group. The group is already saved when the event fires, so listeners that need the full record use the id to load it from the CollaboratorGroup datastore. The name and structure live on that record, not on the event.
use PHPNomad\Events\Interfaces\CanHandle;
use PHPNomad\Events\Interfaces\Event;
use Siren\Plus\Core\Groups\Events\CollaboratorGroupCreated;
class LogNewCollaboratorGroup implements CanHandle
{
public function handle(Event $event): void
{
if (!$event instanceof CollaboratorGroupCreated) {
return;
}
$groupId = $event->getGroupId();
// Load the full group from the datastore if you need name / structure
}
}
How does it fit?
The activity feed listens for this event to record a “group created” entry. Anything that needs to seed default state for a new group (a default per-layer payout config, a downstream lookup cache, an external sync) hooks here too. The follow-up lifecycle events (CollaboratorAddedToCollaboratorGroup, ProgramBoundToCollaboratorGroup) carry the rest of the configuration as the operator wires the group up.
Related events
The group’s own lifecycle continues with CollaboratorGroupRenamed, CollaboratorGroupStructureChanged, and CollaboratorGroupDeleted. Membership and bindings are covered by CollaboratorAddedToCollaboratorGroup and ProgramBoundToCollaboratorGroup. The collaborator group events reference lists the full family.