Campañas
naios-campanasv0.3.01 to 1 prospecting with sequences from your own inbox and email campaigns to consented lists: one engine, two faces, with the suppression list that always wins
Description
Campaigns turn CRM segments into real contacts. Sequences: personal emails, one to one, from your NAiOS Mail account, with hourly and daily quotas, business hours, account warming, human approval of each draft, and automatic stopping as soon as they respond (the response enters the record and the contact becomes a lead). Campaigns: mass sends only to lists with demonstrable consent, templates with your brand, your own SMTP or Brevo/Resend with a 'Test' button, bounce and complaint webhooks, one-click unsubscribe in every email, and metrics by campaign. What they share: the suppression list by space, which always wins; the consent declared in the CRM, which decides which channel opens; and a copilot that drafts but never sends.
Features (11)
Email steps, wait, condition, and task; sent from your NAiOS Mail account with hourly and daily quotas, business hours, and warming
Each email starts as a draft (with AI if you want) and only goes out when you approve it, one by one or in batches. The AI never sends
As soon as they respond, the sequence stops, the response enters the CRM record, and the contact becomes a lead
Unsubscribes, bounces, and complaints go to a list by space that no send skips; it syncs with 'do not contact' in the CRM
Static lists (paste or import declaring the base) or dynamic (CRM segment), block templates with your brand, testing, simulation, scheduling, and metrics by campaign
Sending through your own email account or provider with encrypted keys by space, 'Test' button, bounce/complaint/open/click webhooks, and domain gate (SPF/DMARC)
Connect a form: those who fill it out confirm by email and enter as opt-in with demonstrable origin
The consent declared in the CRM decides: express or customer opens campaigns; professional contact 1 to 1 only sequences; none, nothing
Unsubscribe link and List-Unsubscribe header in every email, no login or friction, with one-click opt-out (RFC 8058)
Sent, replied, meetings, leads, and customers by sequence and segment, with export to Office
First line tailored by reading the company's website and your brand voice from Knowledge; A/B subject in campaigns; WhatsApp step only after response; weekly summary for agents
Changelog
- F3 copilot: sequence drafts with the first line tailored by reading the company's website (web_fetch from the platform, 7-day cache, 8s timeout, fail-open) and with the brand voice from a Knowledge collection; always draft → approval
- Fit score 0-100 in the CRM (categories Digital Kit ↔ modules, province, web, email, activity): sequence enrollments enter by score
- WhatsApp step in sequences: only to those who already responded (never cold); creates a task with the template and link to OmniChat or wa.me
- A/B subject in campaigns: % of test split 50/50, the rest held until the winner by opens (tie: clicks); metrics by variant
- Tool cmp_weekly_digest (read-only) for the weekly summary of NAiOS Agents; export to Office of sequences and campaigns
- F2 Mass campaigns: lists with mandatory consent (opt_in|customer) declared by the user, high engagement and CSV/XLSX import with simulation, dynamic lists from CRM segments filtered on send
- Transport by space: SMTP (NAiOS Mail without signature or copy to Sent), Brevo and Resend with encrypted keys (secret-vault), 'Test', webhook by token (Brevo) or Svix signature over raw body (Resend)
- Campaign engine in the same tick: resumable queue, atomic claim, cap per hour and per tick, monthly metering by plan (features.campanas.emails_per_month), domain gate SPF/DMARC with 24h cache, suspension by the platform
- Block templates (header, text, button, image, columns, separator, legal footer) → HTML tables with inline CSS, platform branding, variables, footer with one-click unsubscribe ALWAYS and List-Unsubscribe
- Optional tracking: clicks by redirection and signed pixel; provider events → suppression (bounce/complaint/unsubscribe), message and list status
- Double opt-in from Forms (email field configured by list) with public confirmation /p/naios-campanas/confirm/:token
- Superadmin panel 'Campaigns': volume, bounces, and complaints by space, transports, and suspend/resume mass sending
- Chat tools: cmp_campaign_stats and cmp_list_count (read-only)
- F1 Sequences: email / wait / condition / task steps; enrollment from CRM segments with consent admission and suppression; drafts with template and variables ({{name}}, {{company}}, {{province}}, {{web}}, {{categories}}) and human approval in batches
- Engine with leader-lock and atomic claim (Passenger multi-worker), hourly and daily quotas according to plan, warm-up 14 days, time window and jitter without bursts; retries and recovery of stuck sends without resending
- Sending via the seam sendAs of NAiOS Mail with its own Message-ID, List-Unsubscribe and List-Unsubscribe-Post; all outgoing leaves activity in the CRM record
- Stop on response: the mail.inbound event correlates by References/In-Reply-To or by sender (30 days), ignores auto-responses, deduplicates by account+uid; response → replied, activity, lead, notice
- Public opt-out /p/naios-campanas/optout/:token (page + POST one-click) → suppression + 'do not contact' in the CRM; suppression by space with reasons unsubscribe/bounce/complaint/manual/crm_dnc, never emptyable from the UI
- Chat tools: cmp_sequence_stats, cmp_pending_approvals, cmp_enroll_segment, cmp_approve_messages (none sends directly)