Send to selection

Compose one message that goes out to all selected contacts. Personalize with merge tokens.

← Back to contacts
@if ($errors->any()) @foreach ($errors->all() as $err)
{{ $err }}
@endforeach
@endif
@csrf @foreach ($contacts as $c) @endforeach {{-- Templates --}} @if ($templates->isNotEmpty() || $template) Templates @foreach ($templates as $t) @php $ids = $contacts->pluck('id')->join(','); $href = route('bulk-sends.compose').'?contact_ids='.$ids.'&template_id='.$t->id; @endphp {{ strtoupper($t->channel) }} {{ $t->name }} @endforeach @if ($template) Clear template @endif @endif {{-- Recipients summary --}} Recipients {{ $contacts->count() }} selected
@foreach ($contacts->take(20) as $c) {{ $c->name }} · {{ $c->email ?: '—' }} · {{ $c->phone ?: '—' }} @endforeach @if ($contacts->count() > 20) + {{ $contacts->count() - 20 }} more @endif

Contacts without the required field for the chosen channel will be silently skipped.

{{-- Channel picker --}} Channel
@php $channels = [ ['key' => 'email', 'name' => 'Email', 'desc' => 'HTML or plain text'], ['key' => 'sms', 'name' => 'SMS', 'desc' => 'Twilio SMS · 160 chars/seg'], ['key' => 'whatsapp', 'name' => 'WhatsApp', 'desc' => 'Twilio WhatsApp business'], ]; @endphp @foreach ($channels as $ch) @endforeach
{{-- Composer --}} Message Use merge tokens to personalize: @{{first_name}}, @{{name}}, @{{company}}, @{{email}}, @{{phone}}.
Subject
Body {{ old('body', $template?->body) }}

SMS messages over 160 characters are split into multiple segments. WhatsApp doesn't have a hard length cap.

{{-- Save as template --}}
Template name
Cancel Send to {{ $contacts->count() }} contact{{ $contacts->count() === 1 ? '' : 's' }}