CollaboratorSubmissionReceived
Fires when a new collaborator registration request arrives. Allows listeners to modify the submission before the record is created.
Last updated: April 8, 2026
CollaboratorSubmissionReceived
CollaboratorSubmissionReceived fires when a new collaborator registration request arrives. This is a mutable event: listeners can modify the submission before the collaborator record is actually created, making it the right place to auto-assign programs, set default fields, or apply business rules based on where the registration came from.
The event ID is collaborator_submission_received, and its fully qualified class is Siren\Collaborators\Core\Events\CollaboratorSubmissionReceived.
What does this event carry?
The event carries three things: a CollaboratorBuilder that holds the in-progress collaborator data, a CollaboratorSubmissionConfigurationFactory that provides access to the submission’s configuration context, and a source string that identifies where the registration request originated.
use Siren\Collaborators\Core\Events\CollaboratorSubmissionReceived;
public function handle(Event $event): void
{
$builder = $event->getCollaboratorBuilder();
$configFactory = $event->getCollaboratorSubmissionConfigurationFactory();
$source = $event->getSource();
// Listeners can modify the builder to set defaults,
// auto-assign programs, or apply rules based on the source
}
When would you listen to this event?
The source string opens up conditional logic based on where the collaborator signed up. A listener could auto-assign collaborators from a specific landing page to a particular program, or set default commission tiers based on the registration source. Because the event fires before the record is persisted, any modifications to the builder will be reflected in the final collaborator record.
This is different from CollaboratorAccountReady, which fires after the account is fully set up. If you need to react to a completed registration rather than modify one in progress, that event is the right choice.
For the full lifecycle of system events and how they connect to the rest of Siren’s architecture, see the System Events overview.