Respondido a través del Slack oficial de Larachat:
A la relación le falta una tabla dinámica para que esto funcione. El segundo argumento en los participants
method es la tabla dinámica a usar:
public function participants()
{
return $this->belongsToMany('Namespace\Modules\Email\Models\Participant', 'PIVOT', 'message_id', 'user_id')->withTimestamps();
}
Por lo tanto, no puede usar participantes como pivote porque es una de las tablas de la relación, necesita un message_participant
tabla dinámica.