Help
Connect external services and AI agents to the CRM over MCP.
Add the new tracking snippet to your website (Settings → Tracking code) to capture page views, clicks, form fills and custom events. When a visitor submits a form with their email, their whole browsing history is attributed to their contact and shown on the contact’s Website activity timeline.
Emails can now look like your best campaigns. The builder gains three blocks — a coloured hero card for the headline, numbered step rows, and a tinted callout box for key facts — and text supports bold and links. AI-generated emails use them automatically: headline on a hero card, tips as numbered steps, and terms in a callout.
The Brand tab now lets you set how big the logo appears in generated emails and whether it sits left, centre or right — matching how your existing campaigns look. The email preview updates as you adjust it.
The account button in the top-right corner now shows your profile picture instead of initials, and you can add, change or remove the picture yourself under Preferences → Your details.
Editing an approved email — its subject, content, sender or recipient list — now clears the approval, so it must be re-reviewed before it can send. Failed AI generations get a one-click Retry that keeps your topic and brief, generated images now come out in a wide email-friendly format, and duplicate drafts from a scheduled generation firing twice are prevented.
Contacts, companies and deals created from now on record which teammate created them (records that arrive via connector syncs or imports stay unattributed). The AI assistant can filter and count on it — ask "how many companies did Tony create?" and get a straight answer.
The Brand tab now has a searchable font picker backed by the full Google Fonts catalogue (like Plus Jakarta Sans). The email preview renders in the real font, and generated emails load it in email clients that support web fonts.
Brand settings now live in one place: the Brand tab. AI-generated emails use the same brand kit as print materials — colours, fonts, logo, tone and compliance rules — so everything stays on-brand automatically. Your existing email brand guides have been folded into the brand kit.
Questions like "how many companies does Matt own?" now get a direct answer in a couple of steps. The assistant can filter contacts, companies and deals by any field (owner, industry, created date, custom properties) and count the matches in one go, instead of paging through records and running out of steps.
A new report on the Reports page shows how many times each broker and advisor was contacted over a chosen period — calls, emails, meetings and messages — and whether they are a new customer (not yet signed up) or a current customer. Reports can now also be run over a date range (last 7, 30 or 90 days).
One-off emails that have not been sent yet can now be deleted from the Emails list. Sent emails are kept so their delivery history stays intact.
The AI assistant and email generation now run on the latest Gemini model for more accurate answers and reports.
After approving the Microsoft 365 calendar connection you now land back on your Preferences page (or Settings → Connectors for the organization-wide connection) instead of a broken localhost address.
Navigation is now grouped: Contacts, Companies, Deals and Lists stay up top, with Sales, Marketing, Automation and Analytics sections you can expand. The sidebar collapses to icons (⌘B), all settings live on one tabbed page, and your personal preferences moved to the new account menu at the top right.
AI assistants that speak MCP (like Claude) can now connect to Zenia by signing in as you — no shared API key to copy around. You approve each connection on a consent screen, and it only sees the brands you can see.
Profile pictures, logos, booking page icons and email images now open a crop step: drag the corners to keep the part you want. Zenia then stores it at a sensible size instead of the full photo, so pages load faster and uploads stop eating storage.
Zenia has a real logo now — it shows in the browser tab, on the sign-in screen and in the sidebar. Booking pages get a tab icon too: upload your brand’s own under Settings → Booking links, or leave it and every booking link shows the Zenia mark.
Connect AffordX from Settings → Data sources to bring every broker organisation in as a company, with its advisers as contacts linked to it. Each brokerage also gets its AffordX subscription attached — usage, revenue billed, the rates it pays per product, and whether it is still active — so you can build company and contact lists on any of it. Adviser details (licence number, active status, enabled modules) arrive as filterable properties, account milestones appear on both the adviser and brokerage timeline, and contact lists can now filter on the company someone belongs to, including its synced AffordX fields.
Settings → Preferences now has Your details and Password sections: fix how your name appears across Zenia, and set a new password by entering your current one — no need to wait on an admin for a reset link.
Turn on “Show my Outlook events in Zenia” under Settings → Preferences and Zenia imports your Outlook and Teams events — three months back and a year ahead — so the Meetings calendar shows everything you’re actually committed to, and your booking links stop offering times you’re busy. It stays off until you switch it on, you choose which brands’ calendars the events appear on, and anything marked private in Outlook is imported as a plain “Busy” block with no details. Imported events are read-only unless you organise them, in which case editing one here updates Outlook too.
Clicking a meeting now opens a full record page — like a contact’s — with every property, the attendee list (including guests from Outlook and who has accepted), the Teams join link, notes and the surrounding activity history, plus Edit and Delete where you’re allowed them. The Meetings calendar also opens on your own calendar rather than everyone’s: switch owner to see a colleague’s, or All owners for the whole brand.
Booking links have been rebuilt as a guided flow: a month calendar, times beside it, your details, then confirmation — with the Teams meeting link right there once it’s booked. Times are shown in the visitor’s own timezone by default and they can switch to any other, so nobody arrives an hour late. You can also give people a face to book with: upload a profile picture for anyone from Settings → Users and it appears at the top of their booking page.
Every partner in the portal now appears here as a company, with each of its branches as a branch on that company, and the people in those branches as contacts linked to the branch they work in. It stays in step on its own: rename a partner, move a branch, or add and remove branch staff in the portal and the change follows through, and anything removed there is archived here rather than deleted so its history and activity stay intact. Branch staff are marked as company contacts, so they are kept out of customer marketing, and you can filter and build lists on their partner, branch and role.
Companies and deals now have the same CSV import contacts do: drop in a file, map its columns to fields or custom properties, and the import runs in the background with live progress. A row that matches a record you already have updates it instead of creating a duplicate — matched on record ID, website or name for companies, record ID or name for deals — and imported deals link to the right company or contact automatically. You can collect everything you imported into a new list, and rows that can’t be identified are logged as conflicts rather than merged.
Scheduling a meeting can now also create it in the owner’s Outlook calendar, with optional Teams link and Outlook invitations sent to the attendees in the meeting owner’s name — and edits or deletions keep the Outlook event in step. Right-click a meeting on the calendar to edit, join its Teams call, or delete it (with confirmation), set a duration, edit everything on one page, and clear a linked deal or owner. Also fixed the scheduler form submitting itself while typing in a search box.
A time already taken on one of your booking links no longer shows as available on your other links, and a booking link can now only be edited by its owner or an admin.
Contacts and companies now carry an A/B/C tier (set automatically from predictive scores, or pinned by hand) that you can filter and segment on. Deals gain BANT/MEDDIC qualification fields, a stale flag when they sit idle too long, and instant owner alerts when a new lead lands — plus an escalation if nobody touches it within 24 hours. Urgent notifications can also reach you by email (switch it off in your preferences).
Create a personal booking link to share with customers: they pick a free time based on your Microsoft 365 availability, and a Teams meeting is created in your calendar and logged in Zenia automatically. The Zenia calendar can also show your live Outlook/Teams events alongside CRM meetings and tasks. An admin can connect Microsoft 365 for the whole organization in one step (Settings → Connectors), or each person can connect just their own account under Settings → Preferences.
Campaigns can now repeat on a schedule (for example a weekly newsletter or monthly tier check-in emails) — each run goes out as its own send with the usual approval rules. Time-based workflow schedules and smart-list membership changes now also fire reliably on their own, with no manual kick needed. A new "Win/loss reasons" report rolls up why deals are being won and lost.
Date fields in list and record filters — including linked-record dates like loan date opened — now support relative ranges such as "in the last 3 months" or "in the last 2 days", picked with a number and unit. Filters with several conditions also load back correctly when editing a list or applying a saved view.
Purchases from every EasyCard portal now sync into the CRM automatically. Each purchase appears on the buyer’s contact record (and their company, when known) with the store, items and amount, shows on the timeline when it completes or is refunded, and is available in smart-list filters and ad attribution.
Measure each brand’s Net Promoter Score from the new NPS section: send a survey email to any contact list, customise the branded survey page contacts land on, and track the score over time with response statistics and comments.
Every inbound, outbound and missed phone call now syncs into the CRM automatically. Browse and filter them on the new Calls page, click through to the matched contact, and see answered calls on the contact timeline.
Creating a task is now a guided three-step flow, and a task can be linked to a contact, a company and a deal at the same time. If a record isn’t in the CRM yet, create it — contact, company or deal — right from the form.
Tasks now have a description field for extra context, and you'll get an in-app notification when one of your open tasks is due within 24 hours.
Don't have the contact yet? Add them right from the New task form — no need to leave the page and lose your place.
Once an AI-drafted email is approved, pick a send time right there instead of jumping to the full editor first.
Companies are now organised as brands with legal entities underneath, and branches can sit under either. Brands are full company records — open, edit, share, or transfer them like any other company, add legal entities and branches straight from the company page, and transfers can bring the legal entities under a brand along.
Sharing or transferring no longer locks the screen while it runs — the dialog closes right away and a notification reports the result. Record pickers (like "Add legal entities") now show a full-size list instead of a clipped sliver, and you can attach several legal entities at once.
When you transfer records to another brand with their activity timeline, any files attached to those activities are now copied across too.
Use the new "Share or transfer…" button on the Shared records page to pick contacts, companies, deals, or lists and send them to another brand — no need to go to each index page first.
When some recipients of an email fail to send, you can now click "Retry now" on the email instead of waiting for the automatic retry. Only the recipients who have not received the email yet are attempted again.
Scheduled emails now go to the whole list at the time you pick — automatic batching, quiet hours, and daily frequency caps no longer hold recipients back. If some recipients fail (for example a delivery outage), the email shows live progress with exactly how many were sent, and the failures retry automatically instead of being silently counted as sent.
Select contacts, companies, deals or lists and use the new “Share / Transfer…” bulk action to hand them to another brand. Sharing gives the other brand a read-only view on its new Shared records screen (revocable any time), while transferring copies the records across — and you choose exactly which related records (companies, deals, activity timelines, branches, list members) come along.
Tick the legal entities that trade under the same retail brand and use the new “Set brand…” bulk action to group them in one go — they then appear together under an expandable brand heading on the Companies list. Rows are also now labelled Brand, Legal entity or Branch so the hierarchy is clear at a glance.
Logged activities now have a delete button on the timeline, so accidental duplicates can be removed. The edit activity window also lists the files already attached, and each one can be downloaded or removed from there.
The Log activity window (and other pop-up forms) could open off-centre and, with long notes pasted in, push the save button off the bottom of the screen. Dialogs now stay centred, notes scroll instead of stretching the form, and the buttons are always reachable.
Loan and application details on contact, company and deal pages no longer squash amounts and product names into a narrow column.
The deliverability badge now shows real health based on your recent sends, bounces, and complaints — click it for bounce and complaint rates, suppression counts, and the status of your email, SMS, and push providers.
The Contacts, Companies, and Deals lists now have a Filters button with the same conditions as smart lists — including synced loan fields, so you can e.g. show contacts with a loan over $20,000. Pick which columns to show (including loan and application properties), sort by them, and save the whole setup as a view.
The dashboard now has Sales and Marketing views. Sales shows your meetings for the week, tasks you can tick off right from the dashboard, deals closing soon, and the latest activity. Marketing shows emails and campaigns going out soon, sends waiting on approval, active sequences, and recent send performance.
A new LMS collections source syncs each account’s arrears position — overdue balance and days, collections workflow, promises to pay and security value — onto the borrower’s contact as filterable properties. Loan records now also carry more detail (account name, payment schedule, region, key dates) for lists and workflows.
Admins can now send a password reset email from Settings → Users & brands. The user gets a secure link to choose their own new password — no more sharing temporary passwords.
Press ⌘K (or Ctrl+K) anywhere — or click the search box in the header — to search contacts, companies, deals, tasks, lists, campaigns, sequences and workflows at once, grouped by type, and jump straight to the record.
The new bell in the header tells you about the things that matter: imports and exports finishing, campaigns going out, tasks or deals assigned to you, emails filed by the inbox assistant, and automations that need attention.
The “Save view” button on list pages is now a Views menu: save your current search and sorting under a name, reapply it with one click, and delete views you no longer need. Views are yours, per brand.
Tick multiple rows to act on them together: archive or add contacts to a list, archive companies, archive deals or move them to a stage, and complete or reassign tasks — on top of the existing bulk subscription update.
Contact and company records now have a Merge button that suggests likely duplicates (same phone or domain, similar names) or lets you search for one. Merging moves everything — deals, activities, lists, consent — onto the record you keep and archives the duplicate.
SMS steps in workflows and sequences deliver via TouchSMS. Replies are filed against the contact, and STOP/START texts automatically unsubscribe or resubscribe the person for SMS.
Report schedules now actually email the report to their recipients on the chosen cadence. The Reports page also gained an Export CSV button and readable number formatting.
Pop-up browser alerts are replaced with tidy toast notifications. Record pickers (tasks, campaigns, deals) now search the server as you type, so any record is reachable. The audit log gained filters, named actors and paging, and Insights shows top contacts by name with a link to each.
The Workflows page has a “Start from template” option that creates a ready-made draft (e.g. welcome series, re-engagement) you can tweak and publish.
Companies can now have branches (sub-stores) — add, edit or delete them from the company record. The companies list groups by retail brand and expands out to each company and its branches. Contacts can be linked to a specific branch, activities can be logged against a branch, and smart lists can filter contacts by branch.
Contact, company and deal records could spill off the right edge of the screen when an associated contact had a long name or email. Cards now stay inside the page, with names and emails neatly truncated.
A company can hold any number of contacts, each with a role shown next to their name on the company record. There is a new “Admin” role, and role names now read naturally (e.g. “Decision maker”, “Primary contact”).
Company records can now be fully edited after creation — phone number, city and country included — and fields can be cleared, so you can remove a number from a company and use it on a contact instead. Custom properties are editable too: use the new Edit button next to “All properties” on contact and company records.
Activities on a contact, company, or deal now show who logged them, right next to the date.
Dragging files into the log-activity window works reliably again — you can now drop a file anywhere in the window to attach it.
When importing a CSV you can now add everyone in the file to a new list, ready to use for emails and campaigns. Columns can also be mapped to custom properties — pick an existing property or create one straight from the column name.
Forward an email to your brand’s CRM inbox address and it is filed for you — the AI finds or creates the company and contact, logs the email (with its attachments) on their timeline, and picks up meetings, tasks and deals it can see in the message. Only senders you allow can file email (anything else is blocked and shown as ignored). Set up the inbox, addresses and allowed senders under Settings → Senders → Email receiving.
Drag and drop (or browse for) files when logging a call, email, meeting or note. Attachments show on the activity timeline and can be downloaded by anyone on the brand.
Mark a person as a company contact (rather than a direct customer) on the contact form. Company contacts are automatically excluded from marketing emails, SMS and push, and you can filter lists by contact type.
Export the members of any saved list — the exact records its filters produce — straight to a CSV. Use “Export CSV” on a list, or pick a list in Settings → Exports.
Export your contacts, companies, or deals to a CSV from Settings → Exports — either the base fields or every property. The file is collated on the server, so large exports never tie up your browser; just download it when it's ready.
The LMS data source now imports from the new loan account cache — balances, arrears, account status and borrower details land on contacts as loan properties. The previous format is still available as a legacy option when adding the source.
Duplicate any draft or sent email from the emails list to reuse its content, audience, and sender. The copy opens as a fresh draft so you can tweak and send it again.
The unsubscribe footer now appears in the builder's Preview tab, and the preference/unsubscribe links in preview and test emails open a working page instead of doing nothing. Set your company name and legal details under Settings → Email sending so they show correctly in the footer.
Remove a contact or company link from the associations panel on any deal, contact, or company record. Deals now let you add, edit, and delete line items, with a running total.
While editing a one-off email you can now send a test copy to any user in your team to check how it looks before it goes out. Test sends are clearly marked, skip recipient rules, and never affect your reporting.
Scheduling a meeting now walks you through it in clear steps — details, then people and the deal, then notes. You can create a new contact, business or deal right inside the form without leaving the calendar.
The Tasks view now opens to your own open tasks and shows who each task is assigned to. Filter by any teammate or everyone, switch to completed or all tasks, and edit, reschedule or reassign a task right from its row.
When you edit a logged call, email, meeting or note on a record, you can now change when it happened — not just its title and notes — so your timeline reflects the real dates.
Generate posters, flyers and letters with AI, refine them in a chat, fine-tune them on a canvas, and download print-ready PDFs. Your brand colours, fonts and logo now live in one place under the new Brand tab and apply across both email and print.
Rows now keep their main quick actions as buttons and tuck any extras into a "⋯" menu, so actions no longer overflow off the edge of the table on tasks and other lists.
When you link a company or contact to a deal, contact, or company and it doesn’t exist yet, you can now create it right from the picker with a "Create new" option — no need to cancel, add the record, and start over.
Your session now lasts 5 days instead of expiring overnight. When a session does expire, you go straight back to a clear sign-in screen instead of a page that never finishes loading.
Zenia now keeps a changelog. New releases pop up in the bottom-left corner and the full history lives in the Help tab.
AI email generation now runs on the latest Gemini models for sharper, more on-brand copy.
Generated emails now follow each brand’s style guide — colours, button radius and spacing — so drafts look closer to send-ready.
Draft campaign and sequence emails from a short prompt. Generated emails always land as drafts and need approval before they can send.
Contacts, companies and deals now show a full history of property changes in a timeline modal.
Big CSV imports are now compressed on upload, so large contact and HubSpot imports no longer hit upload size limits.
Endpoint
POST https://api-zenia.pioneerfinance.co.nz/api/mcp
Authentication
Sign in with your Zenia account. The endpoint speaks standard OAuth: point a client at the URL with no credentials and it discovers the flow on its own — your browser opens the Zenia sign-in, you approve the connection on a consent screen, and from then on the client acts as you, with exactly your brands and permissions. No keys to copy around.
Service API keys (headless). Automations that can't open a browser can instead send an Authorization: Bearer header carrying a key from the MCP_API_KEYS environment variable on the API service (comma-separated to allow several). Staff login JWTs also work. Anything else is rejected with 401.
Claude (claude.ai / Desktop)
Settings → Connectors → Add custom connector, paste the endpoint URL, and complete the sign-in when prompted. claude.ai connects from Anthropic's servers, so it only works against a deployed API (public https URL) — not a localhost dev instance.
Claude Code
claude mcp add --transport http crm https://api-zenia.pioneerfinance.co.nz/api/mcp
The first tool use opens your browser to sign in and approve the connection (or run /mcp to authenticate right away).
Generic JSON config (Cursor and other OAuth-capable clients)
{
"mcpServers": {
"crm": {
"type": "http",
"url": "https://api-zenia.pioneerfinance.co.nz/api/mcp"
}
}
}Headless services (API key)
{
"mcpServers": {
"crm": {
"type": "http",
"url": "https://api-zenia.pioneerfinance.co.nz/api/mcp",
"headers": { "Authorization": "Bearer <api-key>" }
}
}
}Everything in the CRM is scoped to a brand: clients should call list_brands first and pass the returned brandId to the other tools. Deals are additionally scoped to a product (list_products).