Contacts, campaigns, and the proof you had permission.
Perfectigo puts your contacts, your email and SMS campaigns, your lead capture and your automations in one place — and sends through your own Mailgun, Twilio, OpenAI and Apollo accounts, so the number, the billing and the sending reputation stay yours.
Bring your own provider accounts · Every opt-in stored as a dated, immutable record
Permission you can actually produce when asked.
Most tools store a checkbox. Perfectigo stores the proof: who agreed, to what wording, on which channel, and when. The record is written once and never edited.
-
Per-channel state. Email and SMS are tracked separately — opted in, denied, withdrawn, or never asked.
-
An awaiting-consent hold. Contacts pushed in by an integration, or created by a form with no opt-in box, can be worked in the CRM but stay out of campaign audiences until somebody asks properly.
-
STOP is honoured everywhere. A contact who texts STOP is added to the opt-out list and their SMS consent is marked withdrawn. Recorded SMS refusals are removed from every SMS audience.
-
See the audience before you send. How many will be reached, how many were duplicates across lists, how many are suppressed, and how many are missing consent.
-
Segment on consent itself. Build "everyone we have never asked for SMS consent" and use it as a campaign audience.
One record per person — and it survives your spreadsheets.
Import from a CSV, map the columns once, and get a per-row error file for anything that did not fit. Blank cells never erase what you already had.
-
Imports that explain themselves. Headers auto-map against a known catalogue, duplicates update or skip on your instruction, phone numbers normalise, and a company domain resolves to the right account.
-
Segments that keep themselves current. Rules across person, profile, company firmographics, engagement, consent and your own custom fields — with a live count and a sample before you commit.
-
Pipelines, deals and activities. Work a kanban board or a filterable table, log notes and calls, keep tasks with due dates, and record what an opportunity was worth.
-
Rules that move people for you. When a contact matches a segment, put them in a pipeline stage automatically.
Custom fields
Text, number, date or true/false attributes of your own, importable and segmentable.
Lists & tags
Group people by hand or in bulk. Adds never detach anyone already there.
Companies
See the accounts your contacts work for, and everyone you know at each one.
Suppressions
Addresses that are never emailed again, whatever list they turn up on.
Campaigns that stop themselves before they hurt you.
Four steps — details, audience, content, review — then schedule it. Perfectigo refuses to send a campaign whose sender, content or audience is not ready, and pauses one that starts bouncing or drawing complaints.
Your own Mailgun account
Campaigns go out through your Mailgun, so billing and sending reputation stay with you. Bounces and spam complaints come back automatically and those addresses stop being mailed.
Verified sender domains
Add a sending domain, publish the DKIM, SPF and MAIL FROM records shown, and the app checks whether they are live before your campaigns rely on them.
Opens, clicks and per-person status
Sends, deliveries, opens, clicks, bounces, complaints and unsubscribes per campaign — and you can look up what happened to any individual recipient.
Controlled sending
Large sends go out in rate-limited batches, and nobody receives the same message twice — even if a send is paused and resumed.
Templates with history
Lay an email out from blocks or write the HTML yourself. Every content change is snapshotted, and you can restore an earlier version.
SMS on your own Twilio
Text campaigns from your own number, with shortened click-tracked links, STOP handling, and quiet hours so nobody is woken at 3am.
Personalisation uses merge tags, and imported data is sanitised before it reaches an inbox — a stray tag in a spreadsheet cannot break or hijack the email it lands in.
It drafts the campaign. You decide whether it ships.
Give it a short brief and get five subject lines, an HTML body and a call to action. Paste in copy you already have and get five alternatives aimed at a goal you state.
-
Pitch Engine. Proposes campaigns worth running based on your own contacts, lists, past campaigns and pipeline — then turns the chosen one into a draft.
-
A prompt library, not a blank box. Sixteen written prompts across eight campaign types, plus your own saved ones.
-
Your key, your ceiling. Runs on your own OpenAI account, with requests and tokens counted per month and a limit you set.
-
Enrichment on your own Apollo key. Fill in a contact's job title, company, industry and location from their email address.
Three front doors. One contact list behind them.
A booking page, a hosted form and an event webhook — everything that comes through them arrives as a contact, with the answers, the appointment and the photos attached.
Book a demo
A link anyone can use to pick a time with you. It offers only hours you actually work, closes on US federal holidays if you tick the box, shows every time in the visitor's own timezone, and cannot double-book — two people clicking the same slot in the same second will not both get it.
Intake forms
Build a form from text boxes, text areas, dropdowns and checkboxes, publish it on a hosted page, and point each question at a contact field so the answer lands on the person — not just in a submission log. Everyone who fills it in becomes a lead.
Event leads via webhook
Leads your team captures at a stand arrive on their own — no one exporting a spreadsheet on the flight home. A photographed business card becomes a contact, and the selfie, card scan and video are copied into your media library and attached to that person.
Workflows that refuse to be published broken.
Build a chain of steps that runs for one person when something happens to them — and see exactly what ran, step by step, afterwards.
-
Real triggers. Someone joins, gives consent, opens or clicks an email, or moves pipeline stage.
-
Wait steps. Pause for a set time before the next step instead of firing everything at once.
-
Publish checks. A workflow that could never fire is refused at publish time — not discovered three weeks later from an empty report.
-
A full audit log. Who changed what, per organization, filterable by person and by action.
A documented API, readable before you have an account.
Whatever collects your leads — a scanner app, a form builder, another CRM, your own checkout — can push contacts straight in over HTTP instead of exporting a spreadsheet.
-
Retries stay safe. Send an
Idempotency-Keyand a collector that times out and retries will not record a second consent proof for one opt-in. -
Keys you can revoke. A browser-safe key and a server-only secret per connected application, revocable on their own.
-
Rate limits per credential. One integrator's bulk import cannot spend everybody else's request budget.
-
Product events, not just contacts. Tell Perfectigo when someone signs up or pays, and the contact, the pipeline move and the won deal are recorded for you.
# Push a contact, with the proof you were allowed to. curl -X POST https://api.perfectigo.com/api/public/v1/contacts \ -H "Authorization: Bearer sk_live_xxxxxxxx" \ -H "Idempotency-Key: booth-14-0921" \ -H "Content-Type: application/json" \ -d '{ "email": "dana@northwind.co", "first_name": "Dana", "phone": "+1 415 555 0134", "company_name": "Northwind Supply", "tags": ["expo-2026"], "consent": { "email": { "text": "Yes, send me product news by email.", "collected_at": "2026-09-01T14:02:11Z" } } }' # The reply says what you may now send them: { "data": { "contact_id": 4821, "status": "created", "marketing": { "email": "granted", "sms": "awaiting_consent" } } }
Your providers. Your billing. Your reputation.
Perfectigo does not resell you sending capacity or AI tokens at a markup. You connect your own accounts in Settings, and the credentials are stored encrypted.
Connect
Add your provider keys, verify a sending domain with the DNS records shown, and set your From addresses.
Fill the list
Import a CSV, publish a form or booking page, or push contacts in over the API. Consent travels with them.
Send and watch
Preview the audience, schedule the campaign, and read delivery, opens, clicks and complaints per recipient.
Separate what marketing sees from what sales owns.
Roles and permissions
Six ready-made roles over 26 named permissions. A marketer can run the audience without ever seeing pipeline positions or revenue.
Tenant isolation
Each organization's data is separated at the database-query level, not merely hidden in the interface.
Audit log
A per-organization record of who changed what, filterable by person and by action.
Analytics
Audience size and growth, recent campaign performance, an open-versus-click comparison and a deliverability health readout.
Start with your own list.
Create a workspace, import a CSV, connect your Mailgun account and send something today. Your provider accounts stay yours, and every opt-in you collect is yours to prove.