Connecting the Backend
Integrate your Sending Identity
Because Vexifa EMP charges exactly $0.00 frontend fees, all outgoing mail is routed through the sending identity of your choice (AWS SES, Mailgun, SendGrid, Resend, Postmark, etc). We highly recommend Amazon Simple Email Service (SES) because it is widely considered the absolute cheapest enterprise gateway.
- Go to settings and navigate to the Sending Providers tab.
- Click Add Provider and select your platform.
- If using AWS: enter your
Access Key IDandSecret Access Key. - If using API providers (Mailgun, SendGrid, Resend, Postmark): enter your provided
API Keyand designated sending domain. - If using SMTP: input your Host, Port, Username, and Password.
- Click Test Connection. Ensure you receive the green success ping!
AWS SES credentials must have the `ses:SendEmail` and `ses:SendRawEmail` permissions attached to their IAM execution role!
Deploy your Cloudflare tracking worker
Vexifa needs a public endpoint to receive open and click events from your emails and relay them to your local machine. The app deploys this Cloudflare Worker automatically — no terminal or manual code required.
Option A — Cloudflare Auto Deploy (recommended)
- Go to Settings → Tracking and select Cloudflare Worker as your tracking method
- Find your Account ID from the right sidebar of your Cloudflare dashboard and paste it in
- Create a Cloudflare API Token with Workers Scripts: Edit and D1: Edit permissions, then paste it in
- Optionally check Cloud contact list to also deploy the subscribe/unsubscribe endpoint (needed for web signup forms)
- Click Deploy to Cloudflare — the app creates the D1 database and uploads the worker automatically
- Once deployed, your Worker URL and Subscribe URL are shown. These are auto-filled into the connection settings below.
Option B — Manual setup (advanced)
If you prefer to use the Wrangler CLI, expand the Manual Setup (Advanced) section in Settings → Tracking. It provides download buttons for the worker.js and pre-filled wrangler.toml files.
Cloudflare Workers include 100,000 free requests per day. All tracking data is stored in your Cloudflare D1 database — Vexifa polls it, ingests events locally, then deletes them from D1 immediately. No data sits on Vexifa infrastructure.
Configure Cloudflare Lists & Forms
If you deployed the Cloudflare Worker with Cloud contact list enabled in Step 2, go to Settings → CF Lists & Forms to configure your signup and unsubscribe forms.
- Click Sync Lists Now to push your local contact lists to Cloudflare D1 — this makes them available as form targets
- Under Form URLs, copy the subscribe link for each list. Share these directly or embed the form on your website using the auto-generated iframe snippet
- Under Form Appearance, customise the title, description, button text, success message, and accent colour for your subscribe and unsubscribe forms
- Click Save
Subscribers who use your signup form are added to your local database in real time. Unsubscribes are processed immediately — no manual list cleaning required.
Prefer to build your own form? Use the built-in Form Builder (sidebar) to generate a subscribe form for any hosting scenario — Cloudflare Worker, a local server on your PC, or a custom HTTP endpoint you control. You can also download the HTML template pack as a starting point.
Configure OpenRouter
The Vexifa OpenRouter Studio unlocks algorithmic copywriting, A/B subject line variant testing, and spam-probability ratings natively in your desktop dashboard.
- Navigate to openrouter.ai/keys and generate a free API key.
- Open the Vexifa Settings → AI / OpenRouter tab.
- Paste your OpenRouter API key and enable the AI Studio toggle.
- You can now prompt Claude, Llama, Gemini, or GPT-4 directly while writing templates and subject lines.
Audience & Templates
Configure your Brand Voice
Before you write a single subject line, define your brand's voice. Vexifa's AI Studio uses your Brand Voice profile to generate copy that sounds like you, not a generic AI bot.
- Navigate to AI Studio → Brand Voice.
- Click New Voice. Give it a name (e.g. "Vexifa — Direct & Technical").
- Fill in your Brand Description, Tone Adjectives (e.g. bold, concise, authoritative), and any Words to Avoid.
- Optionally, paste 3–5 example paragraphs of your existing copy — the AI references these as style guides.
- Click Save Voice. This profile is now selectable in the AI copywriting panel whenever you write a template or subject line.
You can create multiple voices — e.g. one for newsletters and one for transactional sequences. Each campaign or template can use a different voice.
Importing your CSV list
Because Vexifa operates on an ultra-fast local SQLite database instead of a throttled cloud server, you can ingest millions of contacts in seconds.
- Navigate to Audiences and click Create List.
- Drag and drop your subscriber
.csvfile onto the target window. - Vexifa automatically maps your CSV columns (e.g. "Mail" → "Email Address", "FName" → "First Name"). Review and adjust any mappings.
- Click Import. The local Go backend parses the list, runs deduplication algorithms, and finalizes your sendable audience.
You can tag contacts on import using a tags column in your CSV. Tags enable powerful segmentation — e.g. sending only to contacts tagged "customer" or "trial".
Designing your Email Template
Go to the Templates screen and click New Template. Vexifa provides three ways to build your email:
- Visual Block Builder (GrapeJS): Drag and drop images, columns, and headings to construct beautifully responsive emails.
- Markdown Wrapper: Write simple text; Vexifa intelligently wraps it in pristine inline-CSS.
- Raw HTML (CodeMirror): Code unrestricted HTML if you are uploading custom marketing collateral.
While editing, click the AI Assist button to generate body copy, rewrite a paragraph in your Brand Voice, or check your content's spam probability score.
Campaigns
Check your email in Inbox Preview
Before sending to a live list, use Inbox Preview to see exactly how your template renders across different email clients — desktop Outlook, Gmail, Apple Mail, and mobile views — without sending a single email.
- Click Inbox Preview in the sidebar
- Select a template from the dropdown
- Browse the client previews and check for layout breaks, clipped text, and image rendering issues
- Switch between Desktop and Mobile viewports
Run Inbox Preview every time you make significant changes to a template. Email clients are notoriously inconsistent — catching a broken layout here costs nothing; discovering it after a 500k blast costs subscribers.
Launch your first Campaign
You have an Audience, a Template, and a configured Sender. Go to Campaigns and click Create Campaign.
- Assign the Campaign a Name and select your Target Audience (apply Segment filters to target specific tags or conditions).
- Attach your desired Template.
- Set your Subject Line. Click AI Generate to produce multiple variants using your Brand Voice.
- Configure tracking: enable Open Tracking and Link Click Tracking.
- Click Send Now or schedule for a future time.
The Go backend instantiates async Goroutines, efficiently chunking your audience and bursting API payloads to your provider. A live progress chart tracks bounces, complaints, and successes via provider webhooks in real time.
Run an A/B Test
Instead of guessing which subject line converts better, let Vexifa measure it. Go to Campaigns → New A/B Test.
- Define your Test Variable: Subject Line, From Name, or Send Time.
- Add 2–4 variants. Use the AI Studio button to generate additional subject line options in your Brand Voice.
- Set the Test Split — e.g. send 20% to each variant, hold the remaining 40% for the winner.
- Set the Winner Metric: Open Rate or Click Rate.
- Set the Auto-Send Delay — how many hours before Vexifa picks the winner and sends the rest of the list.
A/B testing requires a minimum list size to be statistically significant. For small lists (<2,000), test only 2 variants and use a 50/50 split.
Configure Frequency Capping
Sending too often kills your sender reputation and increases unsubscribes. Frequency Capping ensures no single contact receives more than your defined maximum number of emails in a rolling time window — even if they qualify for multiple campaigns.
- Go to Settings → Sending Rules → Frequency Capping.
- Set a global cap (e.g. max 3 emails per 7 days per contact).
- Optionally, configure per-list overrides for high-frequency transactional lists.
- Click Save. The sending engine now enforces this rule automatically at blast time.
Automation
Build an Automation Sequence
Automations let you build event-triggered email sequences — welcome series, drip campaigns, re-engagement flows, and more. Go to Automations and click New Sequence.
- Choose a Trigger: Contact Added to List, Tag Applied, Link Clicked, or a Manual Trigger you can call via the API.
- Add a Send Email node. Select the template and configure the delay (e.g. "1 hour after trigger").
- Add branching Condition nodes — e.g. "If contact opened the previous email → send follow-up A, else → send follow-up B".
- Add Action nodes: Apply Tag, Remove from List, Update Contact Field.
- Click Activate Sequence.
The automation engine runs on the local database. Contacts enter and exit sequences as their conditions are met — all processed locally, even when the app window is minimized.
Use the Frequency Capping toggle on each Sequence node to exempt transactional sequences (like password resets or order confirmations) from your global cap.
Contact Scoring & Churn Prediction
Vexifa automatically builds a score for every contact based on their engagement behaviour — opens, clicks, replies, and time since last interaction. This score surfaces who your warmest leads are and who is going cold before they unsubscribe.
Lead Scoring
- Go to Audiences → Contact Scoring.
- Review the default scoring rules (e.g. +10 for a click, +5 for an open, -20 for no engagement in 30 days).
- Adjust the weights to match your sales cycle and click Save.
- Sort your audience table by Score to find your highest-intent contacts and target them with priority campaigns.
Churn Prediction
The Churn Prediction model flags contacts whose engagement score is dropping toward a configurable threshold. Set your Churn Threshold score in the same panel. Contacts crossing that threshold are automatically tagged churn-risk, enabling you to trigger a re-engagement automation sequence before you lose them.
churn-risk tag with an Automation Sequence (Step 11) to send a "We miss you" re-engagement email automatically the moment a contact's score drops below your threshold.
Compliance
Configure GDPR & Preference Center
Vexifa stores all contact data locally — it never leaves your machine. To complete your compliance setup, configure the Preference Center so subscribers can manage their own consent and email frequency.
- Go to Settings → Compliance → Preference Center.
- Enable the GDPR Mode toggle. This records a consent timestamp and source for every contact import and subscription event.
- Configure your Preference Categories — the email types subscribers can opt in or out of (e.g. "Product Updates", "Promotional Offers", "Weekly Newsletter").
- If you deployed the Cloudflare Worker in Step 2, a preference page is automatically served at
/preferenceson your worker URL — no regeneration needed. - Add a "Manage Preferences" link to your templates using the
{{preferences_url}}merge tag.
GDPR consent records are stored in your local SQLite database. You can export the full consent log at any time from Settings → Compliance → Export Consent Log.
Compliance & Deliverability
Run the Deliverability Checker
Before you send to a real audience, verify your sending domain's DNS configuration and blacklist status. No email is sent — this is a pure DNS audit.
- Click Deliverability in the sidebar
- Enter your sending domain (or a full email address) and click Check Domain
- Vexifa checks SPF, DKIM, DMARC, MX records, and common blacklists
- Fix any red items before your first send — missing SPF or DMARC records will cause significant deliverability problems
Your configured sending provider domains appear as quick-pick buttons at the top of the page — click one to check it instantly.
Run this check every time you add a new sending domain. A clean pass on SPF, DKIM, and DMARC is the foundation of a healthy sender reputation.
Configure bounce handling
Bounces — emails that couldn't be delivered — must be handled correctly or your sender reputation will degrade and your deliverability will fall across the board.
- Go to Settings → Bounce Handling and configure your provider's bounce notification method (webhook URL or SQS queue for SES users)
- Set your hard bounce threshold — contacts that hard-bounce are automatically suppressed from future sends
- Set your soft bounce threshold — contacts that soft-bounce repeatedly are flagged for review
- Click Bounces in the sidebar to review the bounce log, manually suppress addresses, or export the suppression list
A hard bounce rate above 2% will get your sending account suspended by most providers. Automatic suppression after the first hard bounce keeps your list clean without any manual effort.
Your pipeline is live.
You have a fully configured email infrastructure — sending, tracking, automations, A/B testing, contact intelligence, and compliance — all running locally, all without a monthly SaaS tax.