CRM · Email · SMS

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

Immutable consent trailThe exact wording, dated, per channel — records are never rewritten.
8am – 9pm quiet hoursTexts are held until morning in the recipient's own timezone.
26 permissions, 6 rolesMarketers can run the audience without seeing pipeline revenue.
Isolation at the query levelTenant separation enforced in the database layer, not just the UI.
Contacts & CRM

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.

Email & SMS

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.

AI Studio

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.
Generate · subject lines
Your Q4 renewal is 30 days out
Quick question about your renewal
Before your plan rolls over…
30 days left on your Northwind plan
Renewal time — anything you'd change?
This month18,240 / 100,000 tokens
Lead capture

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.

The opt-in box is not decoration. Ask for marketing permission on a form and the exact wording is stored as proof. Leave it off and the contact is still created — held out of campaign audiences until someone asks properly.
Automation

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.
1
Trigger
Contact clicks a campaign link
2
Wait
30 minutes
3
Move stage
Pipeline → Engaged
Task for the owner
Follow up within 24 hours
Developers

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-Key and 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.
POST /api/public/v1/contacts
# 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" }
} }
Bring your own accounts

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.

Mailgun — email delivery Twilio — SMS OpenAI — AI Studio & Pitch Engine Apollo — contact enrichment

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.

For teams

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.