Subscribers

Manage WhatsApp contacts, email contacts, separate bulk uploads, and sample templates.

+ New campaign
@if(!empty($setupWarning))
{{ $setupWarning }}
@endif
Total subscribers
{{ number_format($stats['total'] ?? 0) }}
WhatsApp contacts
{{ number_format($stats['wa_total'] ?? 0) }}
WhatsApp opt-in
{{ number_format($stats['wa_opted'] ?? 0) }}
Email contacts
{{ number_format($stats['email_total'] ?? 0) }}
Email opt-in
{{ number_format($stats['email_opted'] ?? 0) }}
@if($branches->count()) @endif Reset

Bulk uploads and sample files

Use separate files for WhatsApp uploads and email uploads. The samples open in Excel.

WhatsApp bulk upload

Required column: wa_phone. Optional: full_name, email, branch, tags.

@csrf

Email bulk upload

Required column: email. Optional: full_name, branch, tags.

@csrf

Combined CSV import

For mixed files with both WhatsApp and email columns.

@csrf

WhatsApp Subscribers

Contacts with WhatsApp numbers.

Add WhatsApp subscriber

@csrf
@forelse($waSubscribers as $s) @empty @endforelse
Name WhatsApp Email Opt-in Action
{{ $s->full_name ?: '—' }}
#{{ $s->id }}
{{ $s->wa_phone_e164 ?: '—' }} {{ $s->email ?: '—' }} {{ $s->wa_opt_in ? 'Opted in' : 'Opted out' }}
@csrf
No WhatsApp subscribers found.
@if(method_exists($waSubscribers, 'links')) {{ $waSubscribers->links() }} @endif

Email Subscribers

Contacts with email addresses.

Add email subscriber

@csrf
@forelse($emailSubscribers as $s) @empty @endforelse
Name Email WhatsApp Opt-in Action
{{ $s->full_name ?: '—' }}
#{{ $s->id }}
{{ $s->email ?: '—' }} {{ $s->wa_phone_e164 ?: '—' }} {{ $s->email_opt_in ? 'Opted in' : 'Opted out' }}
@csrf
No email subscribers found.
@if(method_exists($emailSubscribers, 'links')) {{ $emailSubscribers->links() }} @endif