pds Tech pds Tech
User Guide

pds Tech CRM

A plain-English walkthrough of the sales intelligence CRM — logging in, managing your pipeline, syncing real conversations, running video meetings, and using the AI tools built into almost every screen.

Logging in, profile settings & password management

Open the app at your team's CRM address and log in with the email and temporary password you were given.

If you were sent an invitation link instead (your CRM address followed by ?invite= and a long code), open it. The page shows the email you were invited as and asks for your name and a password of at least 8 characters with no space at the start or end, then signs you in. A link works once and expires after 7 days; if it says the link is invalid or has expired, ask whoever invited you for a new one.

pds Tech CRM — Sign in
you@pds-tech.ai
••••••••••••
Log in

Once logged in, your account controls and preferences are organized into the User Profile Menu in the top right of the navigation header (look for the pill with your initials and first name, e.g. ST Stuart ▾ — on a phone, just your initials).

Click your profile pill at any time to open the dropdown menu, which provides quick access to:

  • Admin Settings (Administrators only) — a labelled section at the top of the menu with 👤 User Management (add team members, set permissions) and 🤖 AI Usage (Gemini usage, requests per key, errors, estimated cost). 💾 Server shows how much safe disk space is left, plus memory, load, uptime and database size. 🛡️ Security Log lists every sign-in, wrong password, lockout, password change, two-step login change and change an administrator made to someone's account, newest first (filter by what happened, or search by email).
  • 📫 My Mailbox — connects your personal email inbox to synchronize customer correspondence.
  • ✍️ My Email Signature — configure your personal email signature. Copy your signature in Outlook and paste it into the box: fonts, colours, links and the logo come across exactly as they look in Outlook (plain typed text still works too). It automatically attaches to campaign emails you launch and serves as the automatic fallback if a sender mailbox does not have an explicit signature. Click ⚡ Pre-populate PDS Signature to auto-fill your name with official PDS Tech branding and contact links.
  • 📖 User Guide — opens this complete interactive reference guide in a new tab.
  • 🔑 Change Password — enter your current password once and your new password twice to update your credentials immediately. A new password needs at least 8 characters and can't start or end with a space (spaces in the middle are fine). You stay logged in on the device you changed it from, but every other device or browser where you were logged in is signed out (the same happens after a password reset, or when an admin sets a new password for you).
  • 🛡️ Two-step Login — adds a second check after your password: a 6-digit code from an authenticator app on your phone (Google Authenticator, Microsoft Authenticator, 1Password or similar), so a stolen password alone is not enough. Click it, then Set up two-step login, and scan the QR code shown with your authenticator app (or, if you cannot scan it, click Copy key and paste it into the app's Enter a setup key), type the 6-digit code the app shows, and click Verify and turn on. You are then shown ten recovery codes: save them in a password manager. Each works once if you lose your phone, and they are not shown again. From then on, after your password you are asked for the code (or a recovery code). To turn it off, open the same window and enter your password and a current code. If you lose your phone and your recovery codes, an administrator can reset it for you. Your administrator may require it for administrator accounts.
  • 🌙 Dark mode / ☀️ Light mode — on a phone or tablet, switches the CRM between its dark and light looks (on a larger screen it's the ☀️ / 🌙 button in the header, see Light mode and dark mode below).
  • 🚪 Log out — safely ends your session and removes stored session tokens.
pds Tech CRM — Top Navigation & Profile Menu
pds Tech CRM Search companies, deals…
⚡ Today's Actions (15) 🔔 3 🤖 Assistant ☀️ ST Stuart ▾
Stuart (stuart@pds-tech.ai)
ADMINISTRATOR
Admin Settings
👤 User Management
🤖 AI Usage
📫 My Mailbox
✍️ My Email Signature
📖 User Guide
🔑 Change Password
🛡️ Two-step Login
🚪 Log out

Forgotten your password entirely? Click Forgot your password? on the sign-in screen and enter your email. If it matches an account, you'll get an emailed reset link — it's valid for one hour. The screen doesn't reveal whether the email matched anything, so don't read too much into it either way; just check your inbox.

Wrong passwords lock the account. Five wrong passwords (or two-step codes, or wrong current passwords under Change Password) in a row lock that account for 15 minutes, and it refuses even the right password until then; the sign-in screen says so. Waiting it out, using Forgot your password?, or asking an administrator to click 🔓 Unlock on your row in User Management all end it.

Light mode and dark mode

The CRM comes in two looks: the dark theme it opens in, and a light theme (cream paper, navy ink and the same teal) that is easier to read in a bright room or on a projector. Switch between them any time:

  • On a computer, click the ☀️ button in the top navigation header, between 🤖 Assistant and your profile pill. In light mode the same button shows 🌙 and takes you back to dark. On the sign-in screen the button sits in the top-right corner of the page.
  • On a phone or tablet the header is too crowded for the button, so open your profile pill and choose ☀️ Light mode (or 🌙 Dark mode when you're already in light).
  • The CRM remembers your choice in the web browser you're using, so it's still there next time you open the CRM, and this User Guide follows it too. It is a personal, per-browser setting: it doesn't change anything for other people, and a different computer or browser starts in dark mode.
  • A few screens stay dark in both modes on purpose: the pop-up messages in the corner, the video meeting window, and the deal-won celebration.

Today's Recommended Actions Briefing on Login

Full-screen windows. Windows that open over the page (New Lead, Lead Details, Find Duplicates, Schedule Meeting, Add Recipients to Campaign and so on) fill the whole screen, with the content kept in a readable column in the middle. Close one with its Close or Cancel button. The small Yes/No confirmations, the two Disapprove windows and the video meeting window keep their own size.

Every time you log in, the CRM automatically opens the ⚡ Recommended Actions for Today briefing popup. It synthesizes all pipeline priorities for your day into one actionable list:

  • ⚠️ Overdue Closes — deals past their target close date needing immediate re-engagement or updated closing milestones.
  • ⏰ Closing Soon — deals due to close today or within the next 3 days.
  • ✨ CRM AI Strategy — recommended next steps extracted directly from recent deal briefs by CRM AI.
  • 💤 Needs Touchpoint — deals that have gone cold with no logged interaction in 4 or more days.
  • 📥 New Inbound Leads — un-triaged inbound leads from email or the website chatbot.
  • ✅ Tasks — your own tasks that are due today (Task due today) or overdue (Task overdue, shown as urgent). Click ✓ Done on the card to tick one off without opening anything.

Clicking any action card immediately transports you to that deal or opens the lead triage modal. You can filter actions inside the modal by category (⚠️ Urgent, ✨ AI Strategy, 📥 New Leads, 💤 Needs Touchpoint, ✅ Tasks) or re-open the briefing popup at any time during your day by clicking ⚡ Today's Actions in the top navigation header.

Tasks & reminders

A task is a follow-up you don't want to forget: Call Jane about the contract on Tuesday. It has a title, an optional due date and time, optional notes, and the person it's for (you, unless you pick a teammate).

  • On a record. A deal's page, a lead's window and every company and contact card have a ✅ Tasks box. Click + Add task, fill in what needs doing and when, and press Add task. The box lists the open tasks soonest first; Show done lists the ticked-off ones.
  • On its own. Open ⚡ Today's Actions and choose the ✅ Tasks tab, then + New task for something that isn't about one record. The tab lists My tasks or the ones you've Set for others, Open or Done, each with a link to the deal, contact, company or lead it is about.
  • Reminders. On the day a task is due it appears in your Today's Actions (which opens when you log in); once the day has passed it stays there marked overdue until you tick it off. A due date shows in amber on the day and red once overdue.
  • Reminder emails. If an administrator has turned them on, you also get one email each morning (at 07:00 UTC) on days you have tasks due or overdue. It lists the overdue ones first, then today's, each with the deal, contact, company or lead it is about and a link straight to it. It lists the same tasks as your Today's Actions, and you never get more than one a day. No tasks due, no email. Administrators turn it on or off under 👤 User Management with Email people their tasks each morning; it is off until someone does.
  • Ticking off, changing, deleting. Tick the box next to a task to mark it done (untick to reopen it), use ✏️ to change it or hand it to someone else, and 🗑️ to delete it.
  • Who sees what. Tasks on a deal, contact, company or lead are seen by everyone who can see that record, so the team shares its follow-ups; a task on a draft deal stays as private as the draft. A task on its own is seen by the person it's for, the person who set it and admins. When a record is deleted for good, its tasks go with it; when a user is removed, their tasks stay, unassigned.

Notifications log

The small pop-up messages that appear in the corner — "AI assessment complete for…", "Email sync found 2 emails in Leads!", "Failed to search with AI…" and so on — disappear after a few seconds. Every one of them is also kept in a 🔔 Notifications log, so you can read a result you missed (an AI scan finishing while you were on another page, for instance).

  • The 🔔 button next to ⚡ Today's Actions in the top navigation header shows a red number for messages you haven't looked at yet. Click it to open the log.
  • The log is the second tab (🔔 Notifications) of the same window as Today's Actions, so you can flip between ⚡ Actions and 🔔 Notifications without closing it.
  • Messages are listed newest first and grouped by day (Today, Yesterday, then the date), colour-coded as success, information, warning or error. Opening the tab marks them all as seen.
  • Clear all empties the log.

Duplicate AI check. The AI search that looks at possible duplicate contacts runs on demand in the background when someone opens 🔎 Find Duplicates on the Contacts page, up to 20 searches a day. It does not run on an unprompted recurring timer, conserving your AI quota and prepayment balance. Groups that share an email address or LinkedIn profile aren't searched, since they're certainly one person. When a run finishes you get a pop-up such as Duplicate AI check finished: 2 groups searched (1 looks like the same person, 1 probably different). Open Contacts → Find Duplicates to review. — within about half a minute, and it is kept in the log too. If the run has to stop because of an error you get Duplicate AI check stopped early because of an error. It will try again automatically. instead. A run with nothing new to check says nothing, and if you were away you hear about the latest run only if it finished in the last 24 hours.

New email. The CRM checks the connected mailboxes every minute (and whenever someone clicks Sync email or opens Leads). When that finds new mail for you, you get a pop-up within about half a minute, such as New email found: 2 emails in Leads, 1 meeting invite., and it is kept in the log. It lists how many emails were added to deals, how many landed in Leads, how many meeting invites it handled, and how many came from a known contact with no open deal to attach to. It gives counts only, never who the email was from or what it said. Mail in your own mailbox is announced to you alone; mail in the CRM Primary Inbound Mailbox (hello@pds-tech.ai) is announced to everyone. If you click Sync email yourself you see the result on screen as usual and aren't told again; if you were away, everything that arrived in the last 24 hours is announced together.

The log keeps your most recent 100 messages. It is stored in the web browser you're using, for your login only — it isn't shared with other people, and a different computer or browser starts with its own empty log. It only records what appeared on screen in that browser, so other things the CRM does in the background (such as the daily clean-up of the trash) don't show up unless they produce a pop-up.

The CRM features a dedicated Left Navigation Sidebar that stays accessible across all screens and views. It provides instantaneous one-click switching between pipeline boards, directories, communications, and administrative functions.

pds Tech CRM — Navigation Sidebar & Top Header
🌀
pds Tech CRM
Sales Intelligence CRM
⊞ Welcome Overview
🏢 Companies
👤 Contacts
🤝 Partners
📥 Leads
📊 Dashboard
✉️ Campaigns
📅 Calendar
📬 Mail
🎫 Tickets
🛡️ Assessments
⚙️ Settings ▾
stuart@pds-tech.ai
🛡️ Security ☀️ ↪ Sign out
< > Search companies, deals…
⚡ Today's Actions (15) 🔔 🤖 Assistant

Funnel Board

Main workspace showing deal stages, revenue summaries, and pipeline analytics.

  • Fluid Full-Width Layout: On wide and ultrawide desktop monitors, the CRM dynamically stretches across the full display width without empty side margins, giving deal columns, metrics, mail threads, and directories generous space to breathe.
  • Collapsible Sidebar (< button): Click the chevron at the top of the sidebar to collapse it into a slim icon bar, maximizing horizontal workspace on desktop screens. Click again to expand. Your preference is remembered automatically.
  • Customizable Link Order: Rearrange your sidebar links by hovering over any item and dragging its grip handle (⋮⋮), or open Settings → Customize Sidebar to reorder with up/down arrows or reset to default. Your personalized layout is remembered automatically across visits.
  • Welcome Overview: Returns you straight to the core Funnel pipeline board with active deals, stage totals, and today's priority actions.
  • Directories & Hubs: Direct access to 🏢 Companies, 👤 Contacts, 🤝 Partners, 📥 Leads, 📊 Dashboard, ✉️ Campaigns, 📅 Calendar, 📬 Mail, 🎫 Tickets, and 🛡️ Assessments.
  • Settings: Click to toggle the submenu containing ⚙️ Customize Sidebar, 👤 User Management, 💾 Server health, 🛡️ Security Log, 🤖 AI Usage, 📫 My Mailbox, ✍️ My Email Signature, 📖 User Guide, 🔑 Change Password, and 🛡️ Two-step Login.
  • Sidebar Footer: Displays your active user email, quick link to 🛡️ Security, theme toggle (Day/Night mode), and ↪ Sign out.
  • Mobile Drawer: On mobile phones and smaller screens, the sidebar slides smoothly off-canvas as a touch-friendly drawer with a backdrop scrim, opening with a tap of the hamburger menu button in the top navigation bar.

The Funnel board & navigation

This is the home screen — every deal you're tracking, grouped by stage, left to right:

Funnel

Prospecting

New Prospect Co.
$40,000

Proposal

Acme Robotics
$180,000

Negotiation

Globex Retail
$95,000

Click any deal card to open it and see its full detail — conversation history and AI brief included.

There's one funnel, the shared pds Primary Funnel, and the whole team works from the same board. Deals you've saved as drafts sit above it in a 📝 Drafts tray, which only you can see, until you promote them onto the board — see Draft deals. The tray only appears when you have at least one draft.

Quick Navigation: Clicking or tapping the pds Tech CRM logo in the top-left of the header returns you directly to your active Funnel board from any view or modal.

Resizing & Minimizing Top Panels: Above the 💼 Deal Stages Board sit two summary panels: ⚡ Recommended Actions for Today and 📊 Pipeline Dashboard. You can tailor their layout at any time, and your browser remembers your preferences automatically:

  • Resize horizontally (width split): Drag the vertical divider bar between Recommended Actions for Today and Pipeline Dashboard left or right (or focus it and press ← / →) to give either panel more width. Double-click the divider (or press Enter) to reset to the default split.
  • Resize vertically (height): Drag the horizontal divider bar directly below the panels up or down (or focus it and press ↑ / ↓) to show more action cards at once or reclaim vertical space for the Deal Stages Board below. Double-click the divider (or press Enter) to reset to the default height.
  • Minimize or restore individually (▾ / ▸): Click the ▾ button in the top-right corner of either panel to collapse it into a compact single-line header bar. Minimizing one panel lets the other expand across the full width of the screen; minimizing both tucks them into two slim side-by-side header bars right above the Deal Stages Board. Click ▸ (or click a minimized panel's header) to expand it again.

Deep Linking, Browser History & Refresh State Persistence

The CRM automatically remembers your exact viewing position and syncs it with the browser's address bar via deep-link hash routes. When you reload or refresh the browser, you stay on that exact piece of content while fetching fresh, live data from the server:

  • Deals (#/deals/123) — clicking any deal updates your address bar. Refreshing your browser reopens that deal and refreshes its interactions, AI brief, and linked contacts live from the server.
  • Leads (#/leads/45 or #/leads) — opening a lead details modal deep-links to that lead. Refreshing keeps the modal open and reloads its latest message and AI enrichment notes.
  • Contacts (#/contacts/67 or #/contacts) — expanding a contact card deep-links to that contact. Refreshing or navigating from search, deals, or other records instantly jumps straight to that card with a prominent teal pulse highlight, without sluggish scrolling delays.
  • Companies (#/companies/89 or #/companies) — expanding a company card deep-links to that company. Refreshing or navigating from contact cards, deal details, global search, or prospect tools instantly jumps straight to that card with a prominent teal pulse highlight, without sluggish scrolling delays.
  • Instant Jump Navigation & Highlighting — clicking on linked companies, contacts, or search results jumps your viewport directly to the target record below the header bar and pulses it with a vivid teal glow, making cross-referencing instantaneous.
  • Calendar, Analytics & Admin (#/calendar, #/dashboard, #/admin) — refreshing while viewing analytics, the calendar, or user permissions stays in that view with freshly computed data.
  • Browser Navigation (Back & Forward) — you can use your browser's native Back and Forward buttons to navigate between deals, leads, companies, and the funnel board seamlessly.
StageMeaningDefault Prob
ProspectingEarly interest, not yet qualified10%
QualifiedConfirmed real need/budget/authority30%
ProposalA formal offer or quote is out60%
NegotiationTerms being discussed/adjusted80%
Won 🏆Closed successfully — contract signed100%
Lost ✖Closed unsuccessfully or discontinued0%

Board, List, Tiles & Timeline views

The switch at the right of the deals heading shows the same deals four ways (remembered on this device; click any deal in any view to open it):

  • ▥ Board — the stage columns, where you drag deals between stages.
  • ☰ List — a table of every deal: company, stage, amount, probability, weighted value (amount × probability) and expected close date, with totals underneath. Click a column heading to sort by it; click it again to reverse. Overdue close dates are red.
  • ▦ Tiles — a card per deal, coloured by stage, with a probability bar and its close date.
  • 📅 Timeline — open deals (not Won or Lost) grouped by the month they're expected to close, starting with any that are overdue. Each month shows its total, its weighted forecast and a bar comparing the two, and the top line gives the open pipeline, the weighted forecast and the weighted total for the next 90 days.

On a phone the List view shows each deal as a small card, and the Tiles go two to a row.

Doing the same thing to many deals, leads, contacts, companies or meetings at once

In the Funnel's ☰ List view, on the Leads page, on the Contacts page and on the Companies page every row has a tick box, and a bar above the list says Tick items to act on several at once. Tick the ones you want (or Select all shown, which ticks only what your search and filters are showing), then pick what to do. While something is ticked the bar stays at the top of the screen as you scroll; Clear unticks everything.

  • Deals: Move to stage... (a deal coming back from Won or Lost gets that stage's usual probability), Assign to... a teammate, or Move to Trash (restorable from Deals Trash for 30 days).
  • Leads: Mark contacted, Convert to contacts or Discard; in the Discarded list, Restore. Convert to contacts asks first, then makes each lead a contact with its name and email at the company the lead is linked to, just as Convert to Contact on one lead would (the lead then shows which contact it became). A lead whose email already belongs to a contact is linked to that contact rather than making a second one. A lead with no company yet, or one already converted, is left as it is and the message says why; link it to a company (or convert it on its own, which lets you pick one) and try again. Up to 50 leads convert at a time, because each new contact also gets the usual CRM AI research.
  • Contacts: Add to campaign... (contacts already in it, with no email address or on the do-not-email list are skipped, and the message says how many) or Move to Trash.
  • Companies: Add contacts to campaign... puts every contact at the ticked companies into the campaign you pick (the same skipping rules as for contacts), or Move to Trash (restorable from the Companies page's View Trash for 30 days). A company with deals in another rep's draft can only be moved to the Trash by an admin. There are no tick boxes in the Trash view.
  • Meetings on a contact or deal: the 🎥 Meetings section of an open contact, and the Scheduled Video Meetings & Calls card on a deal, have a Select button. Click it to put a tick box on each meeting (with Select all shown above them), tick the ones to go, then click Delete selected (N). It asks first, saying how many will go. Each one moves to the Calendar's View Trash with its recording, transcript and call notes, exactly as Delete Meeting on one would, and can be restored for 30 days. Only that day of a repeating meeting goes, and no cancellation notices are sent (open a meeting on its own to notify its attendees). A meeting you are only invited to is removed from your calendar only. A meeting you can't edit, or one whose recording is still running or being processed, is left alone and the message says why. Mailbox-logged calls and emails in the list have no tick box. Click Done to leave Select mode.

Each item is changed exactly as if you had done it on its own, with the same rules: a deal on someone else's draft, for instance, is left as it is. The message afterwards says how many were changed and, if any weren't, why. Up to 500 at a time.

Moving Deals & Drag-and-Drop Stage Transitions

You can drag any deal card across columns to move it between stages (Prospecting → Qualified → Proposal → Negotiation → Won or Lost). Moving a deal immediately updates the database, calculates the stage probability (100% for Won, 0% for Lost, and smart baseline defaults when moving back into active stages), triggers celebratory confetti if won, and recalculates the pipeline totals instantly. The card moves the moment you drop it; if the move can't be saved it jumps back to where it was and a message tells you why. If someone else moved the same deal a moment before you, your move isn't saved: you'll see “Someone else moved this deal to … a moment ago” and the board refreshes to show where it really is now.

Note: Only open deals (not Won/Lost) receive new emails automatically. A closed deal's conversation history stays intact, but nothing new attaches to it.

The search box in the header is available on every screen — you don't need to be on a particular page to use it.

Header
acme rob

Start typing a company name, contact name or email, deal name, or lead — matching results appear underneath as you type, grouped by type. Click any result to jump straight to it, including your own drafts. Companies and Contacts are always shared, but a teammate's draft deal, or a lead from their own mailbox, won't turn up here: drafts remain strictly private to the creator until they're promoted.

Asking the CRM Assistant (powered by CRM AI)

Click 🤖 Assistant in the header to open an intelligent chat panel that answers two primary kinds of inquiries:

  • Questions About the App Itself — "how do I…?", "what does this button do?", "explain the calendar categories". The assistant reads this entire user guide (guide.html) with every question, so it knows every feature however you phrase it. It won't invent features that don't exist, and it will walk you through buttons, modals and rules step by step.
  • Questions About Your Live CRM Data — "what deals do we have with Acme Robotics?", "what is the status of the Jordan Blake lead?", "when is our next scheduled meeting with Sarah?", "summarize what was discussed on the last call with..." — grounded in a live database snapshot of your companies, contacts, deals, scheduled meetings, and interactions.
Strict Privacy Boundaries: The assistant only knows what your account has permission to see. A teammate's draft deals and private leads are strictly excluded; drafts remain strictly private to their creator until promoted into the funnel.

High-Efficiency Architecture (CRM AI, Cost-Aware Model Cascade)

The CRM Assistant and AI intelligence features run on CRM AI's default model, with automatic failover to a series of backup models if one is rate-limited, over quota, or retired by its provider — so a single provider hiccup never blocks the team:

  • Fast, Low-Latency Responses: The fast models keep conversational turnaround quick, avoiding awkward latency during client meetings and sales prep.
  • Large Context Window: Comfortably processes the entire user guide, comprehensive deal timelines, and meeting transcripts in a single inference call without truncation or loss of detail.
  • Your data stays on the paid key: Questions to the assistant, deal briefings, follow-up drafts and lead assessments are only ever sent to the paid CRM AI service, never to a free tier where the provider could use or read them. Cost is kept in check with fast, low-cost models and a daily budget. Administrators can see how it plays out — requests per key, per-model stats, errors, and an estimated £ cost — on the 🤖 AI Usage admin page (see Admin), or in the same summary emailed daily.

Conversation history stays in your browser drawer for that active session. Reloading the page or clicking clear starts a fresh conversation. This is separate from the website chatbot, which serves public visitors and has no access to internal CRM data.

Adding companies, contacts & deals (Directories & toolbar)

The toolbar above the funnel board has the section tabs (Companies, Contacts, 🤝 Partners, Leads, Dashboard, Campaigns, Calendar, and ⚙️ Admin for administrators) on the left, and on the right the + New menu — Deal, Company, Partner, or Contact — plus Sync Email and Deals Trash. Every section button is always on screen: on a tablet or a small laptop the buttons wrap onto a second row rather than scrolling off the side, and on a phone they become a grid of icons. On a tablet it stays on one row, with Sync Email and Deals Trash in the ⋯ menu. On a phone, + New and ⋯ sit next to the Funnel heading, and all the sections appear together underneath as a grid of icon tabs (four across), so every section is one tap away.

Funnel Toolbar
Companies Contacts Leads + New ▾ Sync Email

The ‹ › buttons at the far left of the header, on every page, step back and forward through the pages you've visited, like a browser's back and forward buttons.

Build out your records from + New in this order:

  1. + Company first — every contact and deal belongs to a company. Enter the company name, website domain, phone number, and location.
  2. + Contact next — add the person, and pick which company they belong to (or use + Add new company… right inside the dropdown if it does not exist yet — no need to close the form). Get their email address exactly right — this is how email sync matches customer correspondence automatically (see How email sync works).
  3. + Deal — create an open deal for that company so any matched emails and meetings have somewhere to attach. There's no deal name box on a new deal: it takes the company's name (you can rename it later from Edit). The date box says Target Close Date: it's when you expect the deal to close, not today's date, and you can leave it empty if you don't know yet. When tagging marketing attribution, select + Add new source… in the Source dropdown to open the full-width source creator card, type the source name, select its channel (Event, Website, Introducer, or Referrer), and click + Create Source. Click Save to put the deal straight onto the funnel board at the stage you picked, or Save as draft to keep it private in your 📝 Drafts until it's ready (see Draft deals).
Automatic inbound attribution: leads arriving through the website AI chat or call booking are automatically tagged with the Website ChatBot attribution source; leads arriving via the website contact or free-trial sign-up form are automatically tagged with Website Contact Form.
Order matters: add the Company before the Contact, and the Contact before relying on email sync to match incoming messages.
Company names must be unique. Trying to create or rename a company to a name that's already in use (case-insensitive) is rejected with a link straight to the existing company, so you can open it instead of accidentally creating a duplicate. The inline + Add new company… flow inside the Add Contact/Add Deal forms is even more seamless — if the name you type already exists, it just quietly selects that existing company for you rather than blocking you with an error.

The Companies Directory

Click Companies in the main navigation bar to browse and manage every organization in your CRM:

  • Live Search & Sorting — type in the search bar to instantly filter companies by name, website, phone, or location. Sort by Name (A–Z or Z–A), Most contacts, Most deals, or 💼 Active deals first (companies with the most open deals on top, then A–Z). A company's deal counts and values leave out private draft deals, so one person's draft never changes the numbers another person sees.
  • ▦ Cards / ☰ Compact — the switch next to the sort menu (on both Companies and Contacts) changes how the list looks. Compact shows one slim line per record, so far more fit on screen; click a line to open it exactly as before. On Companies, a Compact line shows only the name and the badges that matter at a glance: Active Deal, Priority, open deals, deals and contacts; the industry, address, phone and website are in the opened record. Every detail in an opened company is a link: phone (call), website, address and registered office (Google Maps), industry, segment and business type (show only companies like this), priority, fit score and main contact (jump to the deals, research or contacts below), Companies House number, directors, SIC codes and legal name (Companies House), and web or email addresses typed into Notes. On a phone, Compact is two lines at most (the name, then a single row of the key details) and leaves out the location, phone, website and email, which are one tap away when you open the record. Your choice is remembered on this device.
  • Show more — the Companies and Contacts lists show the first 200 records; click Show more under the list for the next 200. Search, sort and the filters always cover every record, not just the ones shown.
  • Interactive Badges & Quick-Action Buttons — every badge and pill on a company row or card is directly clickable:
    • ✨ AI Intel — expands the company and jumps straight to its CRM AI Research block with a brief highlight pulse.
    • Industry Pill (e.g. Compliance) — instantly filters the directory by that industry (click again to clear).
    • Business type pill (e.g. Operator) — what kind of business the company is: Operator, Payment provider, Platform / supplier, Affiliate, Regulator or Other. Set it in the company form (Business type, next to Industry). It is separate from the industry (free text) and from the partner type. Use the filter menu next to the sort menu (Business type group) to show only operators, only payment providers and so on, or the companies that don't have one yet.
    • 📍 Location — opens Google Maps transit directions to the office in a new tab. Long addresses are cleanly truncated with an ellipsis in compact view to preserve space, with the full address readable on hover.
    • 📞 Phone — direct tel: link to trigger your phone dialer or VoIP app.
    • 🌐 Website — clean domain display that visits the company's website in a new tab.
    • 👥 X contacts / 💼 X deals — expands the company and jumps straight to its linked Contacts or Deals section.
    • 💼 Active Deal — expands the company and highlights its pipeline deals.
    • 🤝 Partner Pill — opens the Partners board.
  • 🇬🇧 UK AI Research — on the ✨ Prospecting page (the ✨ Prospecting button on the Companies, Contacts and Leads pages opens it; all the AI prospecting, enrichment and scoring tools live there). This is CRM AI searching the web, not an official registry lookup, so check anything that matters (for the official register, use 🏛 Check registers on a company, below). It opens a list where you tick one, some or all companies (search the list, Select all, or Never researched for the ones nobody has researched yet), and CRM AI searches the web for each one's UK office, address, +44 phone numbers and website. It also suggests the company's Business type and Segment, but only into a field that is still blank: what you set yourself is never changed, and an answer that is not on the list is ignored. Admins only, because each company is a paid search; others who click it are told so.
  • ✨ Prospect a Company — on the ✨ Prospecting page: type a company's name or domain (and, if you know it, its website or anything else about it) and click 🔎 Find Company. CRM AI researches it with live web search and shows what it found: location, industry, size, a short summary and the key people. A 🏷 line shows the Business type and Segment it suggests (it prefers a segment you already use, and only proposes a new short one when none fits); they are saved with the company, but only into a field that is still blank, so a company already in the CRM keeps what you set. Nothing is saved until you click Add Company, which adds it to your Companies as a company only (no lead). The key people it found each have a tick box, all unticked: tick anyone you want as a contact and the button becomes Add Company + N contacts, saving them on the company with their job title (the research is from the web and isn't verified, so check each one before you reach out). Someone the company already has is skipped, not duplicated. If the company is already in the CRM, the button opens it instead of adding a duplicate, or, if you tick people, adds just those contacts to it.
  • 🔎 Find Duplicates — scans every company and groups the ones that look like the same organisation: the same website (uk.betway.com and betway.com count as one), the same name once "Ltd", "PLC", brackets and punctuation are ignored (Better Change and Better Change (Gibraltar) Ltd), contacts or a website on the same work email domain (Gmail, Outlook and other personal addresses don't count), the same phone number, or similar names (Kaizen and Kaizen Gaming, or a small typo). Each card shows the company's details and what's attached to it (contacts, deals, leads); the one with the most is pre-selected with a 👑 Primary (Keep) badge and marked Suggested (or Weak guess when there's little between them). Click ▾ Expand details on any card (or click its contacts badge) to reveal the attached contacts (name, job title, email, phone, location and LinkedIn link), deals (name, stage, value, win probability), and company profile notes so you can compare records and make an informed decision. Click Expand all details / Collapse all details at the top of the group to open or close every company card in that group at once. Nothing merges on its own: pick the record to keep and click Merge into selected.

    Selective merging in groups of 3 or more: When three or more companies are grouped together (for example, two records are the same organisation but the third is an independent entity), each candidate card displays a Merge into Primary checkbox. Simply untick the checkbox on any record that shouldn't be merged to mark it Leave untouched. When you click merge, only the ticked records merge into the Primary company; the untouched record remains in the group, allowing you to review it separately or click Keep separate.

    Non-destructive, safe merging & pre-merge confirmation: Merging is non-destructive — the surviving Primary company keeps all its existing data (nothing is overwritten); blank fields are filled in from the merged records; and every contact, deal, lead and meeting moves cleanly onto the Primary. Merged records move to Trash and can be restored for 30 days. Before any merge executes, a detailed confirmation dialog appears listing the exact Primary record, the records being merged in, and any records left untouched so you can proceed with total confidence.

    🤖 Ask AI. Not sure whether two records are one company? Click Ask AI on the group. A CRM AI search (up to a minute) says whether they look like the same company, related but separate companies (for example a parent and its subsidiary, or sister brands, which you'd usually keep apart) or probably different companies, with a short reason and source links. When it's the same company, the record with the current name (after a rebrand, the new one) becomes Suggested. The answer is saved, so it's there next time you open the window, until one of the companies is edited. It only runs when you click it, at most 20 times a day across the team. When the AI is fairly sure they're separate, Keep separate becomes the highlighted button and the group moves to the bottom.

    Keep separate works as it does for contacts: the companies aren't suggested together again, nothing on them changes, each gets a History entry, and Undo on the confirmation line reverses it.

    Delete selected. If one record is just junk and you don't want anything from it merged, select it and click Delete selected. After you confirm, only that company moves to Trash, restorable within 30 days. Deleting a company also hides its contacts and deals until it is restored, so the confirmation lists them; to keep them, use Merge into selected instead. The rest of the group stays on screen (any AI answer is cleared, since it was about the old group); once only one record is left, the group is done.
  • Instant Jump Navigation & Highlighting — clicking a company from anywhere in the CRM (a deal card, a contact card, global search, or a direct link) jumps your view straight to that record immediately without slow scrolling animation, auto-expands its details, and pulses it with a crisp teal accent border so you instantly spot it.
  • Expanded Company Cards — click any company to reveal its full profile: official website (with outbound link), verified UK switchboard (click to call), Location / HQ (click any address or location pill to launch Google Maps with public transport / transit directions from your current location), AI research intelligence notes, a list of all linked contacts with their direct emails, and all active/closed deals with stage badges.
  • Management Actions — each card includes ✏️ Edit, ✨ Research with AI (or Re-run AI Research), and 🗑️ Delete (which moves the company to Trash for 30 days).
  • 🤝 Partners — a company that is a partner shows a 🤝 pill with its partner type and stage, and a Partner block in its expanded card. The All companies / Partners only / Not partners dropdown next to the sort menu filters the list. See Partners.
  • 🗒️ Activity — in an expanded company card, under its contacts and deals: the emails, calls and notes logged about the company, newest first. That includes what is on its deals and contacts, plus an email from someone at the company's website address who is not saved as a contact yet (from the shared inbox only), and the notes of a recorded call about just the company.
  • 🕘 History — at the bottom of each expanded card, click Show to see every change made to the company, with who made it and when (see History on company, contact & lead records).

Bulk Import & Export

The ⇅ Import / Export button on the Companies page opens a menu with three actions that move data in and out of the CRM in bulk. Administrators only: everyone else doesn't see the button, because an export carries the whole customer list.

  • ⬆ Bulk Import — upload a .xlsx or .csv file with columns Company | First Name | Last Name | Job Title | Email | Category / Description | Notes (click ⬇ Download Template in the modal for a ready-made file with the right headers). Companies are matched by name — an existing company is reused, never duplicated, and a row with no name or email just updates that company's category/notes. Click Preview first to see a breakdown (companies created/matched, contacts created/skipped as duplicates, rows skipped) before anything is written — nothing is saved until you click Confirm Import.
  • ⬇ Export to Excel — downloads every company and its contacts as a pds-branded .xlsx workbook.
  • ⬇ Export to Outlook — downloads every contact as an Outlook-importable contact list (.csv), ready to import into Outlook/Exchange contacts.

The Contacts Directory

Click Contacts in the main navigation bar to access the centralized address book of all customer contacts:

  • Search & Company Filter — search across names, emails, job titles, and phone numbers, or filter the directory to contacts belonging to a specific company.
  • Expanded Contact Cards — click any contact to inspect their role, company affiliation, email, direct phone/mobile, personal LinkedIn URL, and verified professional background discovered by AI.
  • 🎥 Scheduled Meetings List — shows upcoming and past meetings linked to this contact, including 8x8 JaaS video calls and mailbox-synced calendar invites, along with scheduled times and confirmation statuses.
  • One-Click Communication & Meeting Triggers:
    • 🎥 Instant Meeting — instantly starts an embedded 8x8 JaaS video meeting room pre-configured for this contact.
    • 📅 Schedule Meeting — opens the meeting scheduler modal with this contact pre-selected, ready to send an automated .ics calendar invite.
    • ✨ Research with AI — initiates targeted professional research to find their LinkedIn profile, seniority, and UK mobile number.
    • ✏️ Edit / 🗑️ Delete — update contact details or move them safely to Trash.
  • 🔎 Find Duplicates — scans every contact and groups the ones that look like the same person: same email, same phone, same LinkedIn profile, a similar name at the same company (e.g. Jon vs Jonathan Smith, including two versions of the same company such as Better Change and Better Change (Gibraltar) Ltd), or the same first and last name at any company — so someone who changed jobs, or was imported under two employers, still gets flagged. Titles, middle names and "Surname, First" order are ignored (Dr Anna M. Davies matches Davies, Anna). Each card displays the contact's details and role. The one with the best activity or current role is pre-selected with a 👑 Primary (Keep) badge and marked Suggested (or Weak guess when there's little between them). Click ▾ Expand details on any card to reveal full contact fields (job title, company, email, direct phone, location, LinkedIn link, notes, and AI intelligence summary) so you can compare details and avoid mistakes. Click Expand all details / Collapse all details at the top of the group to open or close every contact card in that group at once. Nothing merges on its own: pick the record to keep and click Merge into selected.

    Selective merging in groups of 3 or more: When three or more contacts are grouped together (e.g. Ashley Lang at Pragmatic Solutions without email, Ashley Lang at Pragmatic Solutions with email, and Ashley Lang at Lottomart), each candidate card displays a Merge into Primary checkbox. If two of the records represent the same person and the third is someone else, simply untick the checkbox on the third record to mark it Leave untouched. The merge button dynamically updates (e.g. Merge 1 duplicate into selected), and only the ticked record merges into the Primary contact. The untouched record remains in the group, allowing you to review it separately or click Keep separate.

    Non-destructive, safe merging & pre-merge confirmation: Merging is completely non-destructive — the selected Primary record keeps all its existing info and nothing is overwritten. Blank fields are filled in from merged records, and all emails, calls, notes, and meetings move onto the Primary. Merged records move safely to Trash and can be restored for 30 days. Before any merge executes, a detailed confirmation dialog appears listing the exact surviving Primary record, the records being merged in, and any records left untouched so you proceed with 100% confidence.

    AI search on each group. In the background (every few hours, and whenever someone signs in), the CRM runs a CRM AI search on every group whose records are at different companies, asking two things: is this one person who changed jobs (or has worked at both firms), or two different people who share a name — and if it's one person, which job is their current one? The answer shows at the top of the group as AI search (high / medium / low confidence) with a short reason and source links. When it names the current job, that record is pre-selected as Suggested. The confidence figure is about whether it's the same person. If the AI can't name a single current job — for example the person holds both roles at once — you'll still see Weak guess about which record to keep, with a line explaining why; if they really do hold both roles, Keep separate may suit better than merging, because a merged contact has only one company. If a group says the AI is still checking, close and reopen the window in a minute or two. It's advice only, and groups at a single company aren't searched.

    Keep separate. If the records really are different people — say two Tom Smiths at different companies — click Keep separate instead of merging. They won't be suggested together again (a third same-name contact added later can still be suggested against the others), nothing on either contact changes, and an entry is added to each contact's History. Pressed it by mistake? Click Undo on the confirmation line straight away. When the AI search says two records are probably different people, Keep separate becomes the highlighted button and that group moves to the bottom of the list.

    Delete selected. If one record is just junk (a bad import, say) and you don't want anything from it merged into the other, select it and click Delete selected. After you confirm, only that record moves to Trash — nothing is merged, and you can restore it from Trash within 30 days. The rest of the group stays on screen; once only one record is left, the group is done. To close the window, click Close.
  • 🕘 History — at the bottom of each expanded card, click Show to see every change made to the contact, including merges, with who made it and when (see History on company, contact & lead records).

Partners: tracking partner companies & revenue sourced through them

A partner is a company that brings us business or embeds our product: an Embed / API partner, a Referrer, a Reseller, or a Channel Partner. Partners work just like any other company in the CRM — their contacts, deals, meetings, email sync, AI Briefs, notes and History all use the same standard records. The 🤝 Partners tab sits beside 🏢 Companies and 👤 Contacts at the top of the directory.

Marking a company as a partner

Open the company (Companies → click it → Edit), or click + Partner on the Partners page to add a new company as a partner. In the 🤝 Partner box at the bottom of the form, change Not a partner to the partner type:

FieldWhat it means
Partner typeEmbed / API (they build our product into theirs), Referrer (they introduce clients), Reseller (they sell it on), or Channel Partner (they take us to market through their own channel). Set it back to Not a partner to stop tracking the company as a partner; nothing else about the company changes.
Deal modelHow we earn with them: Revenue share, Cost-plus or Referral fee.

Every change to these fields is recorded in the company's History (see History on company, contact & lead records), with who made it and when. Onboarding or negotiating a commercial agreement with a partner is tracked as a standard Deal under that partner company (using the normal deal stages, owner, close date, interaction timeline, synced emails, and AI Deal Brief).

Partner deals vs. customer deals sourced via a partner

There are two ways a partner appears on Deals:

  • 🤝 Partner deals (onboarding & commercial agreements): Any deal created for a company that has a Partner type set is automatically badged as 🤝 Partner · <Type> on the Funnel and in the Deal workspace. You can filter the Funnel board at any time using the deal-type dropdown (All deals, Customer deals, 🤝 Partner deals, or 🤝 Sourced via partner).
  • 🤝 Sourced via partner (customer referrals): When a company becomes a partner, the CRM automatically maintains a Company name (Partner) entry in the Source dropdown on the New/Edit Deal form and on Leads. Pick it on a customer deal to record that the deal came through that partner. Renaming the partner renames its source, and unmarking the partner removes the source unless deals or leads are still tagged with it.

Partner visibility across Deals, Stages Board & Pipeline Dashboard

  • On the Deal Details Page: The deal info panel displays a dedicated Partner row with a teal 🤝 badge (showing the referring partner on sourced customer deals, or the partner type on partner deals). Clicking the badge opens the partner in the Partners directory.
  • On the Deal Stages Board & Views: Partner deals and partner-sourced customer deals display a teal 🤝 badge across all views (Kanban board columns, List table, Deal Tiles grid, Close-date Timeline, and Drafts), and can be filtered with the deal-type dropdown next to the view toggle.
  • On the Pipeline Dashboard:
    • Home Mini-Dashboard: The top metric strip includes 🤝 Partner Pipeline displaying total active pipeline value attributed to partners and deal count.
    • Full Sales Analytics: The headline stat tiles feature a dedicated 🤝 Partner Sourced tile (combined open pipeline + won revenue), while the Revenue by partner and event breakdown details deal counts, open pipeline, and won revenue per partner with click-to-filter board drilldowns.

The Partners directory

🏢 Companies   👤 Contacts   🤝 Partners  ·  Search partner name, industry, or location…   All partner types ▾   All partners ▾   + Partner
3 Partners  ·  2 With active deal  ·  1 Quiet 30+ days  ·  £430,000 pipeline via partners  ·  £77,000 won via partners
🤝 Northbridge Partners   💼 Active Deal   ✨ AI Intel  ·  🤝 Referrer  ·  Referral fee  ·  🤝 4 sourced · £77,000 won · £120,000 open  ·  👥 2 contacts  ·  💼 1 deal
🤝 Kestrel Gaming Platforms   💼 Active Deal  ·  🤝 Embed / API  ·  Revenue share  ·  🤝 1 sourced · £310,000 open  ·  👥 1 contact  ·  💼 1 deal
🤝 Alderway Digital   💤 Quiet  ·  🤝 Reseller  ·  Cost-plus  ·  👥 1 contact  ·  💼 0 deals
  • Expandable directory cards match the 🏢 Companies directory: click any partner card to expand it inline and see its 👥 Contacts, 💼 Partner Deals (commercial/onboarding deals with the partner), and 🤝 Sourced Customer Deals (customer deals referred by the partner), plus quick buttons for + Partner Deal, + Add Contact, Edit Partner, and Full Company Card & AI Intel →.
  • 💤 Quiet marks a partner with no activity for 30 days or more: no interaction logged on its deals or with its contacts, no deal sourced through it touched, no meeting with it that has taken place, and no edit to the company itself. Use the status filter to view 💼 With active deal, 🤝 With sourced deals, or 💤 Quiet 30+ days only.
  • The tiles at the top count every partner, how many have an active partner deal, how many are quiet, and add up the open pipeline and won revenue of customer deals sourced through partners.

On the Dashboard, Revenue by partner and event lists each partner (🤝) and event with its deal count, open pipeline and won value; click a row to see those deals on the Funnel board.

AI research on companies & contacts (UK Commercial Focus & Active Deals)

Open any company or contact card and click Research with AI or Find LinkedIn & AI Intel. It runs live web-search research with CRM AI to discover background intelligence, commercial footprint, office addresses, phone numbers, and web domains — never guessing from model memory.

💼 Active Deal AI Enrichment (Gemini 3.8 Flash & Deep Intelligence)

To ensure high-stakes commercial relationships always have the deepest and freshest context, the CRM automatically upgrades research depth whenever a company or contact is associated with an open pipeline deal (deals not closed as won or lost):

  • Upgraded Intelligence Model: Records with open deals are researched using Gemini 3.8 Flash with an expanded 8,192 token output budget (compared to 1,536 tokens on standard lookups), allowing complete, exhaustive commercial investigations without truncated notes.
  • Active Deal Intelligence Prompts: Research prompts dynamically inject open deal titles, values, and pipeline stages. The AI focuses specifically on:
    • Key executive decision-makers, commercial procurement leads, and board members.
    • Current strategic priorities, vendor tech stacks, and UK commercial expansions.
    • Financial health, commercial signals, recent funding, and deal synergy angles.
    • Exact operational headquarters and direct executive contact channels.
  • Automatic Background Intelligence: The CRM automatically schedules intelligence research in the background:
    • New Contacts: Any newly created contact automatically receives 1 initial Google-grounded search run in the background to research their background intelligence, role, and verified LinkedIn profile without burning manual clicks.
    • New Companies: Any newly created company automatically receives 1 initial UK AI research run (web search, not a registry lookup) in the background to discover verified UK operational headquarters, switchboard numbers, and commercial synthesis.
    • Active Pipeline Deals: An active deal created, restored from trash, updated, or promoted into the pipeline automatically triggers high-priority research for its company and unresearched key contacts.
  • 💼 Active Deal Badges & Filtering:
    • Companies and contacts tied to open deals display a dedicated 💼 Active Deal badge in their card header and a blue deal count pill (e.g. 💼 2 open deals).
    • Companies Filter: The filter menu next to the sort menu has three views of your accounts. 💼 Active Deal shows companies with an open deal, so you can focus on accounts in negotiation. Deal shows companies with any deal, open or closed (won or lost). Segment shows one of your own labels (see Segment in the company form). No deals at all shows the ones with none.
    • Contacts Filter & Sort: The Contacts filter menu has the same three views: 💼 Active Deal, Deal and Segment. A contact belongs to the segment and the deals of its company. You can also sort by Active deals first.
    • 🏛 Check registers: open a company and click it to look the company up on the official registers. A panel opens under the Companies House row with three parts. Companies House is for companies registered in the UK: it shows the matching entries that are still trading first (name, number, status, address), with the dissolved ones a click away, and you can search another name or type a company number yourself. Gambling Commission is for a company that is registered abroad but licensed to operate in Great Britain (a Malta company running a .co.uk betting site, say), which Companies House cannot find: it is matched on the company's website address and name against the Commission's public register, and shows the licensee, its licence numbers and activities and whether the licence is active; pick the right one to save it on the company (the Legal entity & licence row). Registered outside the UK lets you type the company's legal name and country yourself, or click 🔎 Ask CRM AI who operates this website, which reads the website's own terms and footer (check what it says before you use it). Only after that: pick the right one and the company's Companies House row fills in with its registered number, status, type, date of incorporation, registered office, SIC codes and current directors, with a link to the register's own page. It is free and uses no AI, but it needs an administrator to switch it on once (a free Companies House key); until then the button tells you it is not switched on and shows nothing. It keeps the register's details beside yours: the address, name and website you typed are never changed. Unlink removes the register's details from a company if you picked the wrong entry.
    • 🎯 Priority: a number from 0 to 100 that says which companies to look at first. Choose 🎯 Priority (best first) in the sort menu on Companies. It blends three things the CRM already knows: what the company's open deals are worth (each deal counted by its chance of closing, so a £100k deal at 50% counts as £50k; half of the score), the best chance of closing among those deals (a fifth), and CRM AI's fit score (the remaining 30%), which says how much the company looks like the customers you have already won. Hover the 🎯 pill on a card, or open the card, to see the numbers behind it. A company with no open deals and no fit score has no priority yet. Score fit on a card asks CRM AI to rate that one company (0-100, with a one-line reason); anyone can click 🎯 Score fit on the ✨ Prospecting page to score up to 25 companies that have no score yet, open deals first (click again for the next 25). It works from your own records only, so it uses the paid CRM AI key and costs a little per company; a company that nobody has scored simply ranks lower than an equal one that has.
    • Segment: a short label you choose to group companies, for example UK operators Q4. Set it in the company form (Segment, below Business type; it suggests labels already in use). It shows as a 🏷 pill on the company card, and the filter menus on Companies and Contacts list every segment in use, plus No segment set. A label can be up to 40 characters, and clearing the box removes it.
    • 💼✨ Enrich Active Deals Button: A one-click button on the ✨ Prospecting page (opened from the Companies, Contacts or Leads page) allows reps and admins to trigger an immediate background refresh of all companies and contacts linked to active pipeline deals.
Smarkets 💼 Active Deal ✨ AI Intel
💼 1 open deal Online Betting & Financial Exchange 📍 1 Commodity Quay, St Katharine Docks, London, E1W 1AZ, UK 📞 +44 20 7617 7413 https://smarkets.com/ ↗
High-volume peer-to-peer betting exchange platform. London St Katharine Docks HQ houses engineering and executive teams. Open deal context: Platform licensing & API expansion...

Strict United Kingdom (UK) Commercial Priority

The CRM intelligence engine is strictly configured with a UK-first priority for all commercial research:

  • UK Operational Headquarters & Offices: Searches specifically for the company's UK operational hub, London or regional office address, city, and full UK postcode (e.g. 1 Bedford Avenue, London, WC1B 3AU, United Kingdom).
  • UK Telephone Numbers & Switchboards: Automatically identifies and populates public UK telephone numbers (starting with +44 or UK area codes like 020, 01..., 08...).
  • Offshore & Multinational Holding Precedence Rule: Many commercial enterprises operating in the UK maintain legal holding entities or licenses offshore (e.g. Gibraltar, Isle of Man, Malta, Jersey, Guernsey, Curaçao, Delaware). When AI research discovers both offshore holdings and UK operational offices, it strictly prioritizes the UK operational address and UK telephone line for the primary company card fields (Location / HQ and Contact Number), keeping offshore registration context in the research notes.
  • Automatic Metadata Upgrades: If a company was previously populated with an offshore location (e.g. "Gibraltar") or a non-UK switchboard (e.g. +350...), re-running AI research or bulk enrichment automatically upgrades those fields with the newly discovered UK operational details.
evoke plc ✨ AI Intel
Industry: Online Gambling & iGaming
Location / HQ: 1 Bedford Avenue, London, WC1B 3AU, United Kingdom
Contact Number: +44 20 7796 4133
Website: https://www.evokeplc.com/ ↗
Major international gaming operator (William Hill, 888, Mr Green). Operational HQ in London, UK with registered holding office in Europort, Gibraltar. Primary UK investor relations phone: +44 20 7796 4133...

🇬🇧 UK Company & Contact Enrichment

To quickly research and complete UK contact information across your entire database, click ✨ Prospecting on the Companies page and then 🇬🇧 UK AI Research, tick the companies you want (or use quick-select options like 💼 With active deals or Select all) and click Enrich. You can also tick Also enrich contacts at selected companies to investigate individual key decision makers (LinkedIn profile, role, phone, and intelligence notes) alongside the companies. It searches the web with CRM AI for verified UK headquarters, addresses, telephone numbers, executive roles and official websites, filling in what is missing and upgrading offshore records to UK operational data. Admins only. The dialog closes as soon as you click Enrich and the run carries on on the server, so you can keep working in the CRM, close the tab, or switch your computer off; it even carries on through a CRM update, picking up after the last company it finished. While you are here, a small 🇬🇧 UK AI research counter at the bottom left shows live progress for both companies and contacts, and a notification (also kept in the Notifications log) tells you when it has finished; if it finished while you were away, you see the result the next time you open the CRM as an admin. Stop on the counter ends it cleanly after the current record. Only one run goes at a time, up to 500 companies each. Companies and contacts researched in the last 14 days are skipped unless you tick Research again.

Field-by-Field AI Comparison & Selective Overwriting

Whenever you click Research with AI or Find LinkedIn & AI Intel, the CRM analyzes the live web search findings and compares them side-by-side against your existing company or contact record before applying any changes.

  • Side-by-Side Review Modal: If AI discovers new or differing details (or whenever you re-run AI search on a previously researched record), a dedicated Review AI Discovered Details comparison modal opens automatically, displaying the Current Value alongside the AI Discovered Value for every field.
  • AI Intelligence Notes Comparison: The modal includes an expandable 📝 AI Intelligence Notes Comparison panel. You can compare your current research notes side-by-side against newly synthesized findings before deciding to replace or keep them.
  • Granular Field Checkboxes: Each discovered field has an individual checkbox. You can selectively overwrite only specific fields (for example, applying a newly verified UK telephone number while keeping your manually customized headquarters address).
  • "Select All" / "Deselect All": A master toggle lets you quickly check or uncheck all fields at once with a single click.
  • Safety & Control:
    • Cancel / Discard — aborts the search, completely discarding the newly fetched data and protecting your existing record and notes unchanged.
    • Keep AI Notes Only / Save AI Notes — if no direct company/contact field changes are detected (or if all field checkboxes are unchecked), the button cleanly adjusts to Save AI Notes, allowing you to seamlessly update the background intelligence notes without altering fields.
    • Apply Selected — commits only the checked fields to your record while saving the updated research notes.
Review AI Discovered Details · evoke plc 🏢 Company
2 of 2 selected
Apply Field Current Value AI Discovered Value
Location / HQ Changed Gibraltar 1 Bedford Avenue, London, WC1B 3AU, United Kingdom
Contact Phone New Empty / Not set +44 20 7796 4133
📝 AI Intelligence Notes Comparison (Click to inspect current vs. newly discovered background notes)
Cancel / Discard Keep AI Notes Only Apply Selected (2)

Contact Professional Intelligence & LinkedIn

For a contact, clicking Find LinkedIn & AI Intel investigates their individual professional background, core technical skills, verified certifications, role positioning, and personal LinkedIn profile URL (linkedin.com/in/...), prioritizing UK mobile numbers (+44 / 07...) and UK locations. It assigns an objective confidence score:

  • High Confidence: A direct personal LinkedIn match corroborated with company and email domain.
  • Medium Confidence: Probable match with indirect source confirmation (e.g. portfolio, engineering repo, or public quote).
  • Low Confidence: Sparse public record or ambiguous names with multiple candidates.

Spell the name as the person does. The search finds a LinkedIn profile by name, so a typo in the contact's name (for example Dzangwe instead of Džangar) can find the person's company and background but miss their profile. The AI also tries the spelling suggested by the contact's email address and any other spelling it finds, but if a search finds the person and not their LinkedIn, check the name first (Edit), then Re-run AI Search.

This search uses live web search, so it always runs on the paid CRM AI key. If the paid credit has run out, you'll see an error instead of a result: the CRM won't fill in a profile URL or biography from memory. Ask an admin to top up the balance (see AI Prepayment Depleted under Troubleshooting).

Clicking Find LinkedIn & AI Intel or Re-run AI Search starts the search straight away — there's nothing to fill in. The button changes to Searching with CRM AI... while it works, and the results come back for you to review.

Some profiles can't be found by search at all (for example ones that show only a surname initial, or that aren't visible to search engines). The CRM then tells you no LinkedIn profile was found. If you know the address, click + Set URL on the contact card (it reads ✏️ Edit URL once a URL is saved) and paste it, for example https://www.linkedin.com/in/jane-doe; a link to one of their posts works too, and names with accents (such as Džangar) are fine in either spelling. This saves the URL with no AI search at all. Once a contact has a LinkedIn URL, Re-run AI Search researches that exact person instead of guessing, which stops it mixing in other people with the same name. If the saved URL is the wrong person, use ✏️ Edit URL to fix or clear it before you re-run.

Just like with companies, newly discovered contact fields (Job Title, Location, Phone, Email, and LinkedIn URL) are presented in the Review AI Discovered Details comparison modal, allowing you to select individually which contact fields you wish to overwrite or update.

Got it wrong? Click ✕ Disapprove AI on the company or contact to permanently wipe unverified intelligence notes and optionally clear any auto-detected fields if inaccurate.

Managing Leads

Not every email comes from someone already in the CRM. When email sync finds an incoming message from a sender who doesn't match any existing Contact, it automatically creates a Lead instead of ignoring the message.

Leads · Auto-sync active
JB
Jordan Blake 🎯 85 NEW
jordan@newprospect.com
📥 hello@pds-tech.ai · via Hostinger IMAP · last contacted 2 days ago · Source: Website Contact Form
Convert to Contact Draft Follow-up Mark Contacted ⋯
✉️ Platform Demo & Compliance Pilot Query
Hi team, following up on our chat regarding automated affordability checks...

The website chatbot adds Leads the same way when it can't resolve a visitor's question and they leave an email — and you can add one yourself with + New Lead, for anything captured outside email entirely, like a call or a trade show conversation.

Click Leads above the funnel board to see everyone waiting to be triaged. Navigating to the Leads view automatically triggers a fresh email sync in the background, ensuring all new incoming messages appear without having to manually press "Sync email".

For each lead, you can:

  • 🎯 Focus Mode — a busy inbox, ranked. New leads are scored automatically: every few minutes the CRM scores the newest leads that have no score yet, a few at a time and never more than 60 a day, so Focus Mode has a ranking without anyone clicking. (An administrator can turn this off; it uses the paid CRM AI key and a lead you score yourself counts towards the day's limit.) 🎯 Score on a lead card (or 🎯 Score new leads in the toolbar, which scores up to 25 leads that have no score yet, newest first; click again for the next 25) asks CRM AI how worth answering first the lead is, from 0 to 100, with a one-line reason (hover the 🎯 badge). A real person asking for a demo, a price or a meeting scores high; newsletters, automated notices, out-of-office replies, cold pitches to you and spam score low. Turn on 🎯 Focus Mode to put the best leads at the top and tuck the ones scoring under 30 behind a Show them link; a lead nobody has scored yet counts as middling, so it is neither buried nor put ahead of a good one. Focus Mode is remembered on your computer. It only touches leads you can already see, and it uses the paid CRM AI key because an email is personal data. Nothing is discarded or changed for you: the score only decides the order.
  • Click to View Full Message & Details — clicking anywhere on a lead card opens the high-contrast Lead Detail Modal. This displays the complete email body, sender information, timestamp, confidence score, qualification notes, and destination inbox. Rich HTML emails (such as receipts, formatted tables, and corporate newsletters) render cleanly in an isolated, secure message frame preserving fonts and tables without exposing raw tags, while plain-text emails display with native formatting. The email viewer provides a comfortable reading pane with vertical resizing, a ⤢ Full View toggle for reviewing extensive email threads, and a one-click Copy Text action that copies clean plain text to your clipboard.
  • Convert to Contact — opens the familiar +Contact form, pre-filled with their name and email. Pick (or create inline) the company they belong to, and they immediately become a real Contact, eligible for future email matching and deal attachment. If that company already has a deal, the lead's original email is moved onto the deal's timeline too (no deal is created just for this).
  • Draft Follow-up — generates a tailored reply based on the lead's details and prior conversations. The draft window includes 📬 Open in CRM Mail to send directly from the CRM Mail tab, ✉️ Open in Email Client to launch your default desktop mail program (Outlook, Apple Mail, etc.) pre-populated with the recipient, subject, and suggested body, as well as a 📋 Copy Text button.
  • Mark Contacted — sets the lead's status to Contacted so your teammates know someone has reached out.
  • ⋯ More Actions — click the ⋯ menu button on any lead to access secondary actions without cluttering the card: 🔍 View Details (opens the full detail modal), ✨ Enrich with AI (generates a written AI assessment based on what's known so far), 🎯 Score / Re-score (evaluates priority from 0–100), and 🗑️ Discard Lead (marks it discarded so it stops cluttering the active inbox).
  • What a converted lead became — open a converted lead (pick Converted in the status filter) and its Lead Detail window shows Converted to the contact on the date, and the deal its email went onto when there is one. Click the contact's or the deal's name to open it. The CRM records this when the lead is converted, so it no longer has to guess from email addresses; leads converted before this was added were linked to the contact with the same email address, without a deal. A contact or deal that is later deleted for good drops off the lead, which stays Converted. A lead only becomes Converted by converting it (so the CRM knows what it became); moving a converted lead back to New, Contacted or Discarded clears that link.
  • Restore Discarded Leads — accidentally discarded a real opportunity? Simply select Discarded in the status filter dropdown at the top of the Leads page, click the lead, and hit Restore Lead to move it right back to active.
  • 🕘 History — in the Lead Detail window, click Show next to 🕘 History to see every change to the lead: status (New, Contacted, Converted, Discarded), linked company, owner, inbox, attribution source and AI assessment, with who made it and when. Changes nobody clicked carry a note, for example "A new email arrived from this sender" when email sync moves a Contacted lead back to New, or "Converted: … was added as a contact with this email". Once you've opened History it stays open for the next lead you look at. See History on company, contact & lead records.

✨ AI Prospect Research (Research a Company)

To proactively research target commercial accounts, click ✨ Prospecting and then ✨ Prospect a Company or ✨ AI Prospect Research. Powered by CRM AI with live web search, the autonomous research agent performs deep commercial discovery so you can review verified details, executive leaders, and sales angles before adding the account directly as a company in your CRM (along with any contacts you tick). It also suggests the company's business type and a segment (reusing one of your existing segment labels where it fits), filled in only where those fields are still blank, so nothing you set yourself is overwritten.

AI Prospect Research — CRM AI
Betsson Group ✨ 94% Confidence
Industry: Online Gaming & Sportsbook • HQ: London, UK & Malta • Size: 1,000–5,000 employees
Major Tier-1 operator offering multi-brand sports betting and casino platforms across regulated European and LatAm markets...
Key Executives: Pontus Lindwall (CEO), Martin Öhman (CFO) — [LinkedIn ↗]
Sales Angle: Pitching automated UKGC/MGA compliance monitoring and modular sportsbook PAM integration.
Add Company + 2 contacts →
  • Live web search: The agent issues real-time search queries to identify the company's verified web presence, operational headquarters (prioritizing UK locations whenever applicable), workforce size, and value proposition.
  • Executive Leadership Profiling: Extracts key decision-makers (CEOs, CTOs, Founders, Managing Directors) complete with their official job titles and verified LinkedIn profile URLs, with individual checkboxes to add them as Contacts.
  • Personalized Strategic Sales Angles: Formulates 2–3 bespoke talking points tailored to their current market challenges, regulatory milestones, or technology stack.
  • Smart CRM Deduplication & Direct Directory Addition: Automatically matches against existing companies (via normalized domain and company name). If an account already exists, it displays an "Already in CRM" badge and fills in any blank details without duplicating. Adding the company saves it and any ticked key decision-makers directly to your Companies and Contacts directories, with no unconverted lead or mailbox filing needed.

🔍 Find Prospects (search by Ideal Customer Profile)

Don't have a company name yet? Open ✨ AI Prospect Research and switch to the 🔍 Find Prospects tab. Describe the kind of company you want to sell to — like a filtered search in Apollo — and the AI builds a list of real companies that match.

  • Criteria (fill in any you care about): Industry / Vertical, Company Size / Headcount, Location / Geography, Technographics (tools they use, e.g. Salesforce, AWS), Keywords / Niche, and optional Buying Signals (e.g. "recently raised Series A", "hiring sales roles"). Choose how many companies you want (5–20).
  • Results table: each company shows its website, HQ, estimated size, core product, and a 1–2 sentence reason it fits your criteria. Very large enterprises (Microsoft, Amazon, etc.) are left out unless you ask for them.
  • "In CRM" badge: companies you already have (matched by website or name) are flagged so you don't add them twice.
  • Job titles to target: below the table, the AI suggests 3 job titles at these companies to aim your outreach at.
  • Nothing is saved until you choose: the search itself doesn't add anything to the CRM. Click Research & Add on a row to run the full company research above and review its details and key executives to add. Click the 🔍 Find Prospects tab again to get back to your list, or ← Edit Search to change the criteria.
Double-check before reaching out: the list is AI-generated from web search. It's told to leave out anything it can't verify, but always open the company's website before contacting them.

👤 Research a Person (prospect someone by name)

Know who you want to reach but not much else? Click ✨ Prospecting on the Contacts page and then ✨ Prospect a Person, or open ✨ AI Prospect Research on the same page and pick the 👤 Research a Person tab.

  • What to enter: the person's name, and if you know it, the company you think they're at. A best guess is fine: if they've moved on, the AI reports where they work now and says so. Add anything else you know (role, city, where you met) to help it pick the right person. When the person's company is new, it is added with the Business type and Segment CRM AI suggests (shown on the candidate); for a company already in the CRM, only blank fields are filled.
  • Pick the right person: names are often shared, so you get up to 3 possible matches, best first. Each shows their job title and company, where they're based, a LinkedIn link if one was found, a short summary, why the AI thinks it's them, and a High / Medium / Low confidence badge.
  • "Contact in CRM" / "Company in CRM" badges: people and companies you already have (matched by LinkedIn profile, email, website or name) are flagged, so you don't add them twice.
  • Add them: the button on each match says what it will do. Add Contact + New Company creates both at once; Add Contact to <company> adds the person to a company you already have; Open Contact → takes you to someone who's already in the CRM.
  • Full research (ticked by default): after adding, the CRM also runs Find LinkedIn & AI Intel on the new contact, and company research on a new company. That's one or two more AI searches; untick it to skip. If it doesn't finish, the contact is still saved and you can re-run it from the contact.
  • Nothing is saved until you click a button: the search itself doesn't add anything. A person is added as a Contact, not a lead.
Check it's the right person: this always needs live web search. If the AI's paid key is out of credit, it shows an error rather than guessing someone's employer or profile.
Strict Mailbox Lead Privacy: Every lead displays which destination inbox it arrived at (e.g. hello@pds-tech.ai vs an individual sales rep's mailbox). Sales representatives strictly only see leads delivered to their own personal mailbox or the CRM Primary Inbound Mailbox (hello@pds-tech.ai) (plus any leads manually assigned to them). Leads received at other sales reps' personal inboxes (e.g. Stuart's leads for Ben, or Ben's leads for Stuart) remain completely private and inaccessible. Administrators are the only users who have permission to view, search, and triage leads across all team inboxes. The inbox filter dropdown on the Leads page automatically restricts options to only the inboxes you are permitted to see.
Automatic graduation: once you convert a Lead to a Contact, that person's future emails will automatically match as a real Contact from then on — no need to do anything else.

Viewing a deal & its conversation history (Scheduled calls & live sync)

Opening a deal shows two panels: on the left, a card with two tabs, 💬 Interactions (a chronological list of every email/call/note linked to the deal, each shown as a compact card — long messages are cut to a short preview, click Show more to read the whole thing and Show less to fold it back up) and 🕘 History (every change made to the deal itself, covered below); on the right, the AI brief tool.

Customizable View Layout (Resizing & Minimizing): The Deal Details view features fully flexible horizontal and vertical resizing:

  • Resize Column Widths: Drag the vertical splitter bar between Interactions & History and AI Deal Intelligence to adjust their widths from 20% to 80% (or double-click to snap back to 50/50). You can also focus the splitter and use your left/right arrow keys.
  • Resize Scrollable Height: Drag the horizontal splitter bar at the bottom up or down to set your preferred workspace height (from 280px to 1200px, or double-click to return to default auto-expansion).
  • Minimize / Restore Panels: Click the minimize chevron (▾) in either column header to collapse that column into a space-saving vertical title rail. Click the collapsed rail anytime to restore it. Your layout preferences are automatically saved in your browser and remembered across sessions.
← Back to funnel  ·  Acme Robotics — Line Automation Rollout
email Negotiation — 17/09/2026
Quick follow up
Hi, just following up on the audit I sent...
call Prospecting — 14/09/2026
Discovery call notes
30-minute call. Priority is minimizing downtime...

Each entry in the timeline carries a small stage pill showing what stage the deal was in at the moment that email/call/note happened — not the deal's current stage. So on a deal that's since moved to Negotiation, an old call logged back when it was still in Prospecting keeps showing "Prospecting" permanently, giving you an honest record of how the deal actually progressed over time rather than rewriting history every time the stage changes.

The Company name at the top of the deal profile is a link — click it to jump straight to that company's card.

A Contacts at this company panel on the deal profile lists every contact linked to that account — click a contact's chip to jump straight to their Contact card, or click their email address to open a new email instead.

Scheduled Video Meetings & Calls on Deals

Whenever a video meeting or call is scheduled for a deal (or linked to its contacts), a high-visibility meeting card is embedded directly above the interaction timeline:

Deal Details — Scheduled Meetings Card
📅 Scheduled Video Meetings & Calls
Line Automation Technical Discovery
⏰ Tomorrow at 14:00 (45 mins) · Attendee: Sarah Jenkins · Status: pending
Join Call ↗ Edit
  • Instant Join Access — click Join Call ↗ to immediately open the 8x8 JaaS embedded video room with camera and microphone pre-initialized.
  • Meeting Lifecycle Tracking — displays the topic, scheduled start time, duration, primary attendee, and RSVP status (pending, accepted, or declined).
  • Inline Management & Rescheduling — click the meeting row to open the editor modal, adjust dates/times, see who is on the invite (a From line for who sent the invite and a To list for everyone else, each with name and email address, shown for meetings that came from a calendar invite email; invites synced before the sender was saved show one Attendees list until the invite is sent again; a meeting with no saved invitees says so instead), or delete the booking. Deleted meetings immediately prune across all deal and contact cards.

Changing Deal Stages Directly in Deal View

The deal profile card at the top displays the linked company, amount, win probability, expected close date, owner, and timestamps. It features an interactive Stage Selector dropdown alongside a colored stage pill badge (Prospecting, Qualified, Proposal, Negotiation, Won 🏆, Lost ✖):

  • Direct Stage Updating — you can change the stage of any deal directly from the dropdown without needing to go to the Funnel board or open the Edit modal.
  • Smart Probability Adjustment — selecting Won 🏆 sets probability to 100% and triggers the victory celebration confetti; selecting Lost ✖ sets probability to 0% and animates closure; selecting an active pipeline stage resets the probability to the stage standard if it was previously closed.
  • Instant Funnel Sync — any stage change made inside the deal view is immediately synchronized to the backend and updates the Funnel board in real time.

Real-Time Live Note Sync Across Users

When any team member adds a note, logs a call, or records an interaction on an open deal, it synchronizes immediately for everyone viewing that deal in real time — no browser refresh or manual reloading required.

  • Dual-Layer Real-Time Engine — Deal pages maintain an active WebSocket connection with the server (/interactions/ws/{deal_id}). As soon as a note is saved, the server broadcasts the event and pushes it to every open screen within milliseconds. A resilient background poll (every 8 seconds) runs alongside to ensure notes sync seamlessly even behind restrictive corporate proxies or temporary network blips.
  • Visual Live Pulse & Toast Notification — Newly arrived notes animate into the timeline with a glowing accent pulse effect so you immediately spot what changed, paired with a temporary notification toast (e.g. "New note added by Ben").
  • Automatic Tab Focus Refresh — Switching back to your CRM browser tab or returning to an open deal automatically checks for and renders any new activity that arrived while you were away.

Deal History tab: who changed what, and when

Click 🕘 History at the top of the Interactions card to see every change made to the deal, newest first. Click 💬 Interactions to go back to the email/call/note timeline.

Deal Details — 🕘 History tab
✏️ Deal updated — 02/10/2026, 14:32
by Ben Campbell
Stage Proposal → Negotiation
Probability 60% → 80%
✨ Deal created — 14/09/2026, 09:05
by Ben Campbell
Stage Prospecting · Amount £25,000 · Owner Ben Campbell
  • What's recorded: changes to the name, stage, amount, probability, expected close date, owner, company, pipeline (funnel: a draft being promoted shows as <Name>'s Drafts to pds Primary Funnel), and attribution source, plus the deal being moved to trash or restored. Each entry shows the old value → the new value.
  • Every way of editing counts: the Edit form, the Stage and Owner dropdowns on the deal page, the Won/Lost buttons, and dragging the deal between columns on the Funnel board all show up here. If you save the Edit form without changing anything, nothing is logged.
  • Who made it: each entry names the person who made the change. Entries marked System (automatic) were made by the CRM itself, for example a deal created automatically when email sync found a new conversation. If an admin deletes a user, their deals show an "Owner changed to none" entry, and their earlier edits keep their name.
  • Older deals: history tracking started in October 2026. A deal created before then shows a single Deal created entry with the note "Changes made before history tracking was added aren't shown"; everything changed since is listed above it.
  • Emails, calls and notes are not repeated here; they stay on the Interactions tab.

History on company, contact & lead records

Companies and contacts keep the same kind of history. Open a company (Companies page) or contact (Contacts page), scroll to the bottom of the card, and click Show next to 🕘 History. It stays open while you edit the record, so you can see your change appear; click Hide to collapse it.

Leads have the same section in the Lead Detail window (click a lead on the Leads page). It records the lead's name, email, status, inbox, linked company, owner, pipeline, attribution source and AI assessment. It doesn't log each new email's subject or message, since those change every time the sender writes. A lead from before history tracking started shows one Lead created entry dated when it first got in touch.

Meetings have it too, in the meeting details window; see Meeting history.

Contact card — 🕘 History
🔀 Duplicate merged — 03/10/2026, 15:10
by Ben Campbell
Merged in duplicate record Jane W. (jane@acme.com)
Phone none → +44 20 7946 0000
✏️ Contact updated — 02/10/2026, 11:04
by Ben Campbell
Job title VP Operations → Head of Operations
AI research added
  • Companies record changes to the name, industry, business type, location, phone, website and notes. Contacts record changes to the name, company, job title, email, phone, location, LinkedIn URL and notes. Both also record being moved to trash or restored.
  • AI research shows as added, re-run / edited or removed, without repeating the research text. Any fields the AI filled in (for example a phone number or job title) are listed with their old and new values.
  • Long notes are cut short in the list; hover over them to read the full text.
  • Merging duplicate companies (Companies → 🔎 Find Duplicates) adds a Duplicate merged entry to both companies, and an entry on each contact, deal, lead and meeting that moved, showing the company change with the note Company merged as a duplicate. Keep separate and Undo add the same entries as for contacts.
  • Merging duplicates (🔎 Find Duplicates) adds a Duplicate merged entry to both contacts. The one you kept says which record was merged in and lists any blank fields filled from it. The other one says which contact it was merged into and that it was moved to trash. Keep separate adds a Kept separate entry to each contact naming the other(s), and Undo adds Kept-separate undone.
  • Older records: companies and contacts created before history tracking started (October 2026) show one created entry dated "Before history tracking"; changes since then are listed above it.
  • Who made each change, "System (automatic)" entries, and deleted users work the same way as on deals (above).

AI Deal Intelligence (pre-meeting brief)

Opening any deal's page automatically generates its AI Deal Intelligence brief — you don't need to click anything the first time. The AI reads everything logged against that deal — contacts, past emails, calls, notes — and produces a structured summary:

AI Pre-Meeting Brief
Suggested Next Step One clear action to move the deal forward. Recommended Closing Tactics & Coaching How to handle objections and risks and build agreement towards closing. Stakeholder Sentiment & Engagement Who's involved, their stance, and what they care about. Interaction Intelligence & Deal Momentum Pain points, blockers and recent conversations, based on what was actually discussed. Deal & Customer Overview A concise recap of the deal and company, grounded in the actual logged conversations.

Draft Follow-up generates a suggested follow-up email from the deal's contacts and interaction history. The draft window provides an 📬 Open in CRM Mail button to open and send directly from the CRM Mail tab, alongside an ✉️ Open in Email Client button to open your default email client (Outlook, Thunderbird, Apple Mail, etc.) with the contact's email address in the To line, the deal name in the Subject line, and the suggested email body ready to edit or send, and a 📋 Copy Text button.

The brief updates itself when conversations change. Whenever a new interaction is added to a deal — a note, an email (synced or sent), a call or a meeting — the AI rebuilds the deal's brief in the background within a few seconds, even if nobody has the deal open, and a deal page that is open shows the new brief by itself (the status line reads "New activity: updating deal intelligence...", then "✓ Intelligence updated"). Several interactions in quick succession are covered by one rebuild. It reads every interaction on the deal (the most recent in full, older ones as short excerpts), not just the latest few. Simply reopening a deal won't re-run the AI if nothing has changed — the last saved brief is shown as-is — and if something new has arrived and the background rebuild hasn't finished yet, opening the deal rebuilds it straight away. If only linked company contacts changed, auto-rebuilds are throttled to at most once every 30 minutes (saying "New activity since this brief — click ↻ Refresh Brief to update" if sooner). Click ↻ Refresh Brief at any time to force an instant fresh regeneration regardless. The AI reads the latest emails in full (up to a length limit) and older ones as short excerpts, with quoted earlier replies left out, so long email threads don't make it slow or costly.

Starting & scheduling video meetings (8x8 JaaS & device diagnostics)

Every deal and contact has two ways to get on a video call:

Acme Robotics — Line Automation Rollout
🎥 Instant Meeting 📅 Schedule Meeting
  • 🎥 Instant Meeting — creates an 8x8 JaaS room immediately and opens the call in its own browser tab (the same call page a scheduled meeting's Join CRM Video opens, with the ⏺ Record button). If your browser blocks the new tab, the call opens inside the CRM window instead. Available on Deal details and on every contact card.
  • 📅 Schedule Meeting — schedule a call in advance. The modal automatically fills in today's date and sets the time to the next whole hour of the day (e.g. at 2:20 PM, it defaults to 3:00 PM today). To pick a different time, click anywhere in the date/time box or tap the 📅 button to open the full visual calendar and time picker. You can also tap the quick time chips (Next Hour, +2h, Tomorrow 10am, Tomorrow 2pm) and duration pills (15m, 30m, 45m, 60m) for instant one-click presets. Everyone on the team is invited by default, except the CRM Primary Inbound Mailbox, which is never added automatically (shown as 👥 chips in Meeting Attendees; × removes one, Remove team removes them all) and every one of them can then see the meeting on their calendar. When the meeting is for a company, the contacts list shows that company's contacts (type in the search box to find anyone else, or click Show all contacts); + Add all invites every one of them that has an email address, and picking a different deal switches the list to that deal's company. Optionally attach the meeting to a contact and deal — each dropdown has a 🔍 Search box above it, so type part of a name, company or email to narrow the list (if only one match is left it's picked for you). If the contact has an email address and ✉️ Send Calendar Invitation (.ics) is ticked, they're emailed a pds Tech–branded invitation — our header artwork and logo, a Join video meeting button with the meeting's short link, an instant 📅 Accept & Add to Calendar button (ideal for mobile users who cannot easily double-click raw .ics attachments), 1-click quick-links for Google Calendar, Outlook, and Apple/iCal download, the date, time, host, and agenda notes — with the calendar invite (.ics) attached. It's sent from hello@pds-tech.ai as "Your Name via pds Tech".

Where do scheduled meetings appear?

Once a meeting is scheduled, it is immediately visible across three key locations in the CRM:

  • Deal Details Page — A dedicated 📅 Scheduled Video Meetings & Calls card appears prominently above the interactions timeline, displaying the topic, scheduled time, duration, attendee, RSVP status, and a one-click Join Call ↗ button.
  • Contact Details Card — Expanding any contact's card under Contacts displays a 🎥 Meetings section listing all CRM video calls and mailbox-synced meeting invites linked to that person.
  • The Unified Calendar — Automatically synchronizes both CRM-booked meetings and mailbox-ingested calendar events across your personal schedule and the team's Funnel Calendar.
Automatic Display Name Pre-fill: When you click Join Call ↗ or any meeting join link while logged into the CRM, your logged-in user display name is automatically passed into the 8x8 JaaS video room. You enter the pre-join screen with your name already filled in, without having to type it manually.

Meeting history: who changed what, and when

Click any meeting (on the Calendar, a deal's meetings card or a contact's card) to open its details, then click Show next to 🕘 History under the notes. Once you've opened History it stays open for the next meeting you look at.

  • What's recorded: changes to the title, date & time, duration, status, invite response, join link, notes, host, contact, company and deal, each with the old and new value, who made it and when.
  • Calendar invite emails: meetings added, moved or cancelled by an invite email show System (automatic) with a note such as "Updated from a calendar invite email" or "Cancelled by a calendar email". An invite that's re-sent without any change doesn't add an entry.
  • Saving without changing the time doesn't log a time change. Times are compared to the minute, which is what the form shows.
  • Deleted meetings: deleting a meeting moves it to the Calendar's View Trash, history and all. Restore it within 30 days and it comes back with its history and the status it had before (scheduled or completed); after that it's removed for good. To delete several at once, use Select on a contact's or deal's Meetings card (see Doing the same thing to many at once).
  • Mailbox-synced email records (the ✉️ entries on the Calendar) don't have History; they're emails, not meetings.
  • Meetings created before history tracking started show one Meeting created entry dated when the meeting was booked.

Calls open in an embedded video window inside the CRM, with a full set of resilience controls along the top:

ButtonWhat it does
🔄 Restart CameraInstantly re-initializes the webcam stream and cycles video tracks if your camera feed freezes, stalls, or drops
🛠️ Test DevicesOpens the built-in hardware diagnostic tool with a live video mirror, microphone volume visualizer, device list, and permission troubleshooting
📋 Copy Guest LinkCopies the guest join link so you can share it directly in chat or calendar invites
⛶ FullscreenEnlarges the call to fill the whole page inside your browser window (it doesn't put the browser itself into full-screen mode). The button then reads 🗗 Windowed — click it to shrink the call back
⏺ RecordRecords the call's audio and, when you stop, adds AI call notes to the deal (see Recording a call below). Only the host sees it, and it needs Chrome or Edge on a computer.
↗ Pop OutTransfers the call to a separate browser tab while automatically releasing the window's webcam lock to prevent device conflicts. That tab closes itself automatically once you leave the call.
📝 CRM BriefSlides open a sidebar showing the deal's latest AI brief and quick call notepad — notes saved here attach directly to the deal's timeline
✕ LeaveEnds the call and cleanly releases all camera and microphone tracks
Camera Hardware Conflict Prevention: Webcams on desktop operating systems (especially Windows) can only be accessed by one application or browser tab at a time. When you click ↗ Pop Out, the CRM automatically unbinds the camera from the window modal so the new tab connects immediately without getting stuck on "loading camera". To bring video back to the CRM at any time, simply click ↩ Return Video to Window.
If the camera is stuck on "Loading...": Click 🔄 Restart Camera or 🛠️ Test Devices. If another program (like Zoom, Microsoft Teams, or another open meeting tab) is running in the background, close it so your browser can access the camera.

Recording a call and getting call notes on the deal

The CRM records and transcribes every video call hosted from it, unless the host turns it off. When the recording stops, the CRM turns the audio into a transcript, the CRM AI writes short call notes from it (a summary, key points, decisions, action items and open questions) and adds them to the deal's timeline as a 📝 note called Call notes: …. The full transcript stays on the meeting.

  1. Start the call from the CRM (🎥 Instant Meeting, or tap Join CRM Video on a scheduled meeting while signed in to the CRM, which opens the CRM's own call page, on a phone too). A link opened from an invitation email, or while signed out, is the plain guest page and cannot record. Every call starts recording by itself as soon as you, the host, join (other people who join from the CRM don't start a recording), and the CRM posts a message in the call's chat saying it is being recorded and transcribed.
  2. You can always see that it is recording. A red strip under the call window's title bar shows ● REC with the running time (for example ● REC 12:04), and the ⏹ Stop recording button counts up too. In a ↗ Pop Out tab the same ● REC time is at the top right.
  3. Don't want it recorded? Click Don't record this meeting in the strip (or at the top right of a Pop Out tab). The recording stops and what was recorded is deleted: no transcript or notes are made. To record after all, click ⏺ Record. If the recording could not start by itself (for example you cancelled the browser's sharing question), the strip turns amber, says why, and has ⏺ Start recording.
  4. Your browser then asks which tab to share. This question can't be skipped: it is the browser's own, and appears once per call. Click Allow with Also share tab audio switched on; that is how the other people's voices are captured. Allow the microphone when asked, so your own voice is included. Headphones stop the speakers echoing into your microphone. Tell the people on the call yourself as well, and get their agreement where your policy or the law needs it.
  5. On a phone or tablet the browser cannot share a tab's sound, so the CRM records through the microphone only (it still starts by itself when the call opens, as on a computer): put the call on speaker (no headphones) so the microphone hears the other people too, keep the screen on and stay on the call page (a locked screen stops the recording). Your own voice is always clear; the other people are only as clear as your speaker lets them be, so the notes can have gaps. A computer gives a better recording when you have one.
  6. Click ⏹ Stop (or ✕ Leave). When the meeting ends you get a short confirmation, ✓ Meeting recorded, with how long the recording is (in a Pop Out tab it shows in the tab, which stays open until you close it). A few minutes later a message says the call notes are on the deal. If you stop it by hand, it is not started again in that call until you press ⏺ Record.
  7. Joining the same meeting again carries on its recording if it was still going. A meeting that already has call notes is not recorded again by itself (that would replace its notes): press ⏺ Record if you want to.
  • Seeing the transcript: the call notes on the deal's timeline have an 📄 Open the transcript ↗ link under them, and the entry for the video call itself has 📅 Open the meeting ↗. Or open the meeting from the Calendar or the deal's meetings card and look under 🎙️ Call recording & notes: the transcript opens there by itself (Hide transcript folds it away), and Download .txt saves it. That section also follows the recording while the window is open, without a refresh: Recording while the call runs, Processing once it ends, then Notes added. Anyone who can open the meeting can read it.
  • Where the audio goes: the notice before you record names the service that turns it into text. The audio is deleted as soon as it has been turned into text. If something goes wrong it is kept for 7 days so that Retry can run it again, then it is deleted too.
  • If your browser tab closes or your connection drops: the audio that had already been sent is processed within a minute or two. Recordings can be up to 3 hours long.
  • Where the notes go: on the deal if the call has one; otherwise on the contact, otherwise on the company (they show under 🗒️ Activity on its card). A call linked to none of them keeps its transcript and notes on the meeting only.
  • A transcript from another tool: in the same section, Add a transcript or notes from another tool lets you paste a transcript from Teams, Otter, tl;dv, Granola or anything else, or load the .vtt, .srt or .txt transcript file Teams, Zoom and Google Meet export. The CRM AI writes the same call notes from it and adds them to the deal.
  • No Record button, or it is greyed out: recording needs a browser that can use the microphone. Hover over the button to see the reason if your administrator has not set recording up.

Recording a Google Meet, Teams or Zoom meeting

Meetings held outside the CRM's own video calls can be recorded too, and their call notes go on the deal in the same way. Add the meeting to the CRM calendar first (with its Google Meet, Teams or Zoom link), linked to the deal, contact or company.

  1. When the meeting starts, open it from the Calendar or the deal's meetings card. Under 🎙️ Call recording & notes, click ⏺ Record this meeting, then Start.
  2. Your browser asks what to share. Meeting in a browser tab (Google Meet, or Teams or Zoom on the web): choose that tab and switch on Also share tab audio. Teams or Zoom desktop app: choose Entire screen and switch on Also share system audio (Chrome or Edge on Windows). Allow the microphone so your own voice is included. Nothing of your screen is recorded or sent, only the sound.
  3. Keep the CRM tab open until the meeting ends. It can stay in the background, and you can close the meeting's details window. Tell the people in the meeting that you are recording it, and get their agreement where your policy or the law needs it.
  4. When the meeting ends, open it again and click ⏹ Stop recording, or click Stop sharing in the browser's bar. A few minutes later a message says the call notes are on the deal.
  • Already have a recording? Click ⬆ Upload a recording in the same section and choose the audio or video file (for example a Zoom or Teams recording, or a phone voice memo). The CRM turns it into a transcript and call notes as if it had been recorded here. Up to 3 hours.
It is a note, not a meeting. The call notes are saved as a note so they show on the deal's timeline without adding a second entry to the Calendar.

Inviting Guests & Joining on Mobile Devices

To invite prospects or clients to a meeting:

  • Short join links — every meeting booked in the CRM gets its own short link, like https://crm.pds-tech.ai/m/kqd-mzwp-tfa. It's the link in the invitation email and .ics, and the one copied to your clipboard when you schedule or start a meeting. It signs a fresh guest token each time it's opened, so it keeps working however far ahead the meeting was booked. If you mark the meeting cancelled or delete it, the link stops working and guests see a pds Tech page saying so. It also stops working once the meeting is marked completed, or 12 hours after its scheduled end (so an old invite can't be reused), and only you as host can record or transcribe the call.
  • Click "📋 Copy Guest Link" in the meeting header to copy that same short link, ready to paste into WhatsApp, Slack, SMS, or email. (Meetings booked before short links existed copy the older https://crm.pds-tech.ai/meet/pds-... form, which still works.)
  • Zero App Installation for Guests — Guests opening the link on mobile phones (iOS Safari or Android Chrome) do not need to download the 8x8 or Jitsi app. The link automatically signs a secure guest token and opens the call directly in their mobile browser. When prompted, guests simply tap Allow for microphone and camera access. When a guest leaves the call, they see a “Thank you for attending” page rather than the video service’s own closing page.
  • Fast Reconnection & Fallback — If a guest clicks an invite link that was copied from Jitsi's native invite dialog (e.g. vpaas-magic-cookie-... or meet/...), the CRM server automatically intercepts the request, generates an authorized guest token, and redirects them into the video room. This only works for rooms that belong to a meeting booked in the CRM: a link to a cancelled meeting shows guests the "cancelled" page, and any other room name shows "This meeting link isn't valid" rather than opening an empty room.
8x8 JaaS Invite Domain Configuration: In your 8x8 JaaS Console under Branding → Customise your meeting invite URL, ensure your invite base URL points to https://crm.pds-tech.ai (your CRM server) rather than the root domain (which hosts your marketing site on Hostinger). If an invite link was copied with the root domain, adding a redirect in Hostinger from vpaas-magic-cookie-* to https://crm.pds-tech.ai/$1 ensures even older shared links work immediately.

The Calendar (Agenda, week & month views, 5-way filtering & bulk deletion)

Click Calendar in the top navigation for a unified schedule of every meeting that matters to you — video meetings scheduled through the CRM scheduler, plus calendar invites synced from your connected mailbox. Invites that arrive in the CRM Primary Inbound Mailbox (hello@pds-tech.ai) show on everyone's calendar, whoever they were addressed to, under 🌐 Funnel Calendar with a 🌐 Funnel Calendar · CRM Primary Inbound Mailbox badge; ones from your own mailbox are yours alone unless you share them (see Funnel Calendar below). Entries are grouped into a day-by-day agenda list (like Apple Calendar/Fantastical's list view): each date gets a compact day badge on the left, with that day's events stacked underneath it, each row showing a colored dot and the time. Completed meetings swap the dot for a hollow checkmark and strike through the title.

Calendar
All Events (14) 👤 My Schedule (6) 🌐 Funnel Calendar (8) 📅 CRM Scheduler (8) ✉️ Mailbox Synced (6)
25
SEP FRI
Acme Robotics — Discovery Call
10:00 · Acme Robotics · 🌐 Primary Funnel · pending
🎥 Join CRM Video ↗↪️ ForwardDetails

List, Week & Month Views

Use the ☰ List / Week / Month toggle under the filter tabs to switch layouts. Your choice is remembered next time you open the Calendar, and the filter tabs apply to every layout.

  • ☰ List — the day-grouped agenda described above, with checkboxes for bulk deletion. The list view cleanly starts with today's date moving forward into the future, highlighting today's events at the top so upcoming meetings are immediately front-and-centre. Earlier past events are neatly tucked into a collapsible 🕒 Show earlier events section at the top, accessible with one click whenever historical records are needed.
  • Week — a Monday-to-Sunday hour grid like Google Calendar, sized to fit your screen with no scrolling. It shows 7am–9pm, stretching automatically to include any earlier or later meeting that week (and the current time). All-day and multi-day events (anything 12 hours or longer, like a conference) sit in an all day strip under the dates instead of filling whole columns. Each meeting is a colored block sized to its duration (teal = CRM scheduled, blue = mailbox synced, purple = Funnel Calendar, red = cancelled), overlapping meetings sit side by side, past meetings fade, and a red line marks the current time. Click an empty future slot to open the scheduler pre-filled with that time (rounded to the half hour).
  • Month — a full month grid with each day's meetings listed as time · title. Busy days show +N more; click it, or any day number, to jump to that week.

Use the ‹ Today › buttons at the right to move between weeks or months. They stay in exactly the same place as the dates change, so you can click them repeatedly without moving the mouse. Click any meeting in either grid to open its details.

Week and Month load exactly the dates on screen, so every meeting shows up however far back or ahead you go. (The List view shows your most recent 999 entries.) While a new week or month is loading you'll briefly see Loading… next to the dates. In Week and Month, the numbers on the filter tabs count only the meetings on screen.

User Schedule vs. Funnel Calendar Views

The Calendar tabs bar allows you to slice your view instantly:

  • All Events — Everything you can see: your own meetings plus the Funnel Calendar, combining CRM meetings and mailbox synced events.
  • 👤 My Schedule — Focuses strictly on meetings you are hosting, deals you own, or activity on your drafts.
  • 🌐 Funnel Calendar — The team's shared calendar: every meeting from the CRM Primary Inbound Mailbox (hello@pds-tech.ai), always, plus any meeting a teammate has chosen to share. Each one carries a 🌐 Funnel Calendar badge. Meetings on a deal in the shared funnel are not shown here, or to anyone but their host, the deal's owner and those on the invite, unless someone shares them.
  • Sharing a meeting — open a meeting you host (or one on a deal you own) and tick Share to the Funnel Calendar, then Save Changes. Everyone on the team then sees it, read-only unless they can edit the deal. Untick it to take it back off. On a repeating meeting, Save Changes asks whether that is for just this meeting or this one and all the later ones in the series; earlier days are never changed. Administrators see every meeting regardless.
  • 📅 CRM Scheduler — Filters to video meetings created via the CRM 8x8 JaaS scheduler.
  • ✉️ Mailbox Synced — Displays calendar invites (.ics), updates and cancellations synced from connected email inboxes.

Every meeting scheduled through the CRM displays a status badge — pending, accepted, or declined — so you can see at a glance who's confirmed. In addition, the Meeting Details modal color-codes both the Overall Response dropdown (Accepted in green, Declined in red, and Pending in amber/yellow) and the Meeting Status dropdown (Scheduled in green, Cancelled in red, and Completed in blue), displays each attendee (and organizer) with their color-coded RSVP status (Accepted in green, Declined in red, Tentative in blue, or Pending in yellow), and refreshes live every 6 seconds while the modal is open so you immediately see attendee responses or meeting cancellations in real time without closing or reloading the window. You have full control to view and delete both CRM-scheduled meetings and mailbox-synced calendar records:

  • Quick Delete Button (🗑️) — every single calendar row (whether CRM-scheduled or synced from your email) features a direct 🗑️ button on the right for instant, one-click removal. When deleting a CRM meeting with external attendees, you are offered the option to Delete & Notify Attendees (which automatically dispatches an RFC 5545 cancellation notice so external calendars strike it out or remove it) or Delete Only.
  • Full Detail, Edit & Update Modal (Compact 2-Column Layout & Mobile Full-Page Mode) — clicking any calendar row or its Details button opens the full details modal in an ergonomic, space-efficient side-by-side view on desktop and a full-page scrollable view on mobile. The header displays the meeting's video platform badge (e.g. 📹 Google Meet, 📹 Microsoft Teams, 📹 Zoom, 📹 Cisco Webex, or 📹 CRM Video) right alongside a platform-specific join button (e.g. 🎥 Join Teams ↗) and ↪️ Forward Invite button. The left column presents meeting title, date/time, duration, color-coded overall response (green when Accepted, red when Declined), color-coded meeting status (green when Scheduled, red when Cancelled), and notes, while the right column displays a clear From (Host) and To (Invited) attendee roster. In the header subtitle, the meeting explicitly highlights who sent the invite to whom (e.g. Organizer → Attendee). For scheduled meetings, you can edit titles, times, duration, notes, and individual attendee RSVP statuses. You can also add new attendees (via live contact search or typing an external email) or remove attendees (✕) from the meeting. When saving changes or deleting a meeting with attendees (on both desktop and mobile), an immediate confirmation dialog lets you choose Save / Delete & Notify Attendees (which sends an updated email and updated invite.ics so attendee calendar apps automatically update or remove the event), Save / Delete Only, or Cancel. For mailbox-synced records, you can review full attendee details with individual RSVP badges and message notes, and click Delete Record to cleanly purge it from your calendar.
  • Interactive Contact & Deal Autocomplete — When scheduling or editing a meeting, the 🔍 Search contacts... and 🔍 Search deals... inputs narrow down matching options in real time as you type with an instant popup menu. Clicking any match selects it, and pressing Enter automatically picks the first match.
  • Attendee Cancellation & Update Emails (iCalendar RFC 5545) — when you choose to notify attendees upon editing or deletion, the CRM sends a branded email to all external participants with an updated invite.ics attachment (marked METHOD:REQUEST for updates or METHOD:CANCEL / STATUS:CANCELLED for deletions) so Google Calendar, Apple Calendar, and Outlook automatically adjust or remove the meeting on their schedules. Meeting invitations, updates, and cancellations are sent directly under the creating/editing user's name and email address.
  • Forwarding Sent & Received Meeting Invites (↪️ Forward Invite) — Every calendar row (in the Calendar agenda and on Deal pages) and the Meeting Details modal include a ↪️ Forward / ↪️ Forward Invite button. Clicking it opens the Forward Meeting Invite dialog, where you can send a copy of any sent or received meeting (including the full invite.ics calendar file, video join link, and agenda notes) to any email address (e.g. a personal Gmail/Outlook calendar or a colleague's mailbox). You can optionally include a custom forwarding note and choose whether to also add the recipient to the meeting's attendee list. The CRM remembers your most recently forwarded email address for fast repeat forwarding.
  • Real-Time 15-Second Active Calendar Auto-Sync — while you are actively viewing your Calendar (in List, Week, or Month mode), the CRM automatically checks for calendar updates, queries connected mailboxes for newly arrived meeting invites and RSVP replies, and refreshes your schedule every 15 seconds in the background without refreshing the page or interrupting your workflow.
  • Universal Bulk Selection & Deletion — the Delete Selected bar is active across all 5 calendar tabs (including ✉️ Mailbox Synced). Tick individual checkboxes or use the top Select All checkbox to bulk-purge dozens of old calendar invites or meeting summaries in one click. Your ticks stay in place while the calendar refreshes itself in the background.
Immediate Cross-View Pruning & Clean Deletion — When any meeting or synced calendar record is deleted (from the Calendar, Contact details, or Deal details), it is immediately removed from all open views across the CRM, preventing stale cards from lingering. Any linked deal interactions are cleanly removed in tandem. If a record was already deleted elsewhere, clicking it automatically purges the stale card from your view and closes the modal cleanly.

Automatic Calendar Sync for Email Meeting Invites

If someone sends a meeting invite to your connected email address (e.g. ben@pes-tech.ai, ben@pds-tech.ai, or any team member's mailbox), the CRM automatically detects and parses the invitation and adds it directly to your CRM calendar:

  • iCalendar & Virtual Meeting Parser — Inbound emails are scanned for calendar attachments (.ics files, text/calendar, or application/ics MIME parts) and for invitation emails whose subject starts Invitation:, Updated invitation: or Cancelled: (as Google Calendar and Outlook send them). An ordinary email that just mentions Google Meet, Teams or a kickoff doesn't become a meeting: it's logged on the deal's timeline as the email it is. The parser automatically extracts the meeting title, start time, end time, duration, organizer, attendees, individual attendee response statuses (PARTSTAT), and one-click join URLs (supporting Google Meet, Zoom, Microsoft Teams, and Cisco Webex).
  • Automatic User Assignment, Provider Badge & Visibility — The meeting is assigned directly to the recipient's CRM user profile and immediately appears in 👤 My Schedule and All Events with a ✉️ Mailbox Synced badge. Every join button across the Calendar, Deal pages, Contact cards, and the Meeting Details modal automatically detects and displays the video platform alongside the link (e.g. 🎥 Join Google Meet ↗, 🎥 Join Teams ↗, 🎥 Join Zoom ↗, 🎥 Join Webex ↗, or 🎥 Join CRM Video ↗) along with a 📹 Provider badge in the meeting header so you know before clicking whether the call opens in your browser or requires an external app like Microsoft Teams or Zoom.
  • Deal & Lead Correlation — If the meeting organizer or attendee matches a known CRM Contact with an open deal, the meeting automatically attaches to that deal's timeline and broadcasts to teammates viewing the deal via live WebSocket sync. If the sender is not yet in the CRM, a Lead is automatically created so your sales pipeline captures every meeting prospect.
  • Everyone on the invite sees it — a synced meeting appears on the calendar of every CRM user whose email is on the invite (as an attendee or the organizer), not only the person whose mailbox it arrived in. It's shown under 👤 My Schedule. If you're only on the invite (you didn't book it), the meeting opens read-only, and Delete becomes Remove From My Calendar: it disappears from your calendar only and everyone else keeps it. Removing it is how you decline it. To change your mind, open View Trash: under Removed from your calendar, click Put back on a day, or Put back all on a repeating meeting. A re-sent invite does not bring it back on its own. For a repeating meeting, Remove Series removes this day and every later one. Meetings already synced pick up their attendees the next time the organizer sends the invite or an update.
  • Recurring Meetings —A repeating invite (for example a stand-up every weekday at 1pm) puts every occurrence on your calendar, not just the first. Daily, weekly (including chosen weekdays) and monthly repeats are understood, along with "every 2 weeks", an end date or a set number of times, and dates the organizer skipped. The time stays the same on the clock across daylight-saving changes. A repeat with no end date always shows the next 120 days: the calendar adds further dates each night. If the organizer moves or cancels one day of the series, only that day changes; if they move the whole series, the old days are cancelled and the new ones added. When an attendee sends an "Accepted", "Declined", or "Tentative" reply via email (METHOD:REPLY), the CRM sync automatically updates that attendee's individual RSVP status badge on the meeting and logs the response in the meeting history. Yearly and other unusual repeats add only their first date. To remove one, open it and click Delete Meeting for just that day, or Delete Series (shown only on repeating meetings, with the number it will remove) to delete it and every later one in the series. Earlier days stay, and everything deleted goes to the Calendar's Trash, restorable for 30 days. In View Trash the days of a deleted series show as one row with Restore all to bring the whole series back at once; click Show days in that row to restore single days instead.
  • Updates & Cancellations — If the organizer reschedules the meeting or sends a cancellation notice (METHOD:CANCEL or STATUS:CANCELLED), the CRM updates the calendar entry or marks the status as cancelled automatically without creating duplicate entries, even when the cancellation arrives minutes after the invite. The update or cancellation email is also logged on the deal's timeline. If you edit the meeting in the CRM, invite emails sent before your edit are ignored; ones sent after it still apply.

Mail: the team's shared mailbox inside the CRM

Click 📬 Mail in the top bar to read the team's shared mailbox, the CRM Primary Inbound Mailbox (hello@pds-tech.ai), without leaving the CRM. It is the same mailbox for everyone, so what you do here (read, star, move, delete) is what everyone sees. Mail is read live from the mail server: nothing is copied into the CRM, so it always matches what is really in the mailbox, including changes made in another mail program. You can also write, reply and forward from here (see below).

  • Folders: Inbox, Drafts, Sent, Junk, Trash and any others, with the number unread beside each. On a phone the folders are a drop-down above the list.
  • Unified, space-saving header: The Mail page features a streamlined header bar combining the navigation return link (← Back to funnel), the active mailbox selector, and a collapsible ℹ️ Info tips drawer on the left with search and action buttons (✏️ Write, ↻ Refresh, 📁 New folder, Sent log, Empty Trash) on the right. This utilizes widescreen display space effectively and eliminates dead vertical space so message lists and the reading pane have maximum vertical height.
  • Resizing & minimizing panes: On a computer, you can drag the vertical divider between 📁 Folders and ✉️ Messages, or the vertical divider between ✉️ Messages and 📖 Reading Pane, left or right to resize each column width (and drag the horizontal divider along the bottom to resize the height of the Mail view). Double-click any divider to reset it to its default size. Click the ◂ / ▸ button in the header of any pane to collapse it into a narrow vertical rail so the remaining panes expand across the available width; click the collapsed rail (or open a folder/message) to expand it again. Your layout preferences are saved automatically in your browser.
  • Reading: click a message to read it; it is marked read as you open it (use Mark unread to undo). Search looks in the sender, the subject and the text of the folder you are in. The list shows 25 at a time (Newer / Older). A 📎 means there are attachments; click one in the message to download it (up to 10 MB).
  • Tidying: tick one or more messages (or open one) to Mark read / unread, ⭐ Star, Move to… another folder, or 🗑️ Delete. Delete moves a message to the Trash, it does not destroy it. Deleting from the Trash, and Empty Trash, are for administrators only and ask you to confirm.
  • Pictures and links: an email can carry tracking pictures that tell the sender you read it, so pictures from the web are hidden until you click Show pictures on that message. A message is shown in a locked-down frame: scripts, forms and embedded content in an email are removed and cannot run, and links open in a new tab. A designed email keeps its own look (its colours, card and layout; a dark one stays dark), and an email built wider than your window, on a phone for example, is shrunk to fit the width so you never have to scroll sideways to read it.
  • Writing: click ✏️ Write for a new message, or open a message and click ↩ Reply, ↩↩ Reply all or ↪ Forward. Type the people in To (separate several with commas; Cc and Bcc appear when you click them), a subject and your message. Your name and signature are filled in for you and you can change them. 📎 Attach adds files (up to 10 MB each, 20 MB in all; programs and scripts are refused). When you forward, tick which of the original's attachments to take along.
  • ☰ View (filter, arrange, sort): the ☰ View button above the list works like Outlook's. Filter shows All Mail, Unread Mail, Flagged Mail (starred) or Mentioned Email (messages that name you or contain your email address). Arrange by puts the list in order by Date, From, To, Subject or Size, or puts Flag status (starred), Attachments or Importance (marked high priority) first. Sort then flips it: newest or oldest on top, A or Z on top, largest or smallest on top. It works together with search and with the folder you are in, and the CRM remembers your choice. The button turns solid when anything other than the normal view is on. Outlook's Categories, Flag dates and Type are not offered, because a mail server does not keep them; Account is the mailbox drop-down.
  • Junk, Archive and your own folders: tick messages (or open one) and click 🚫 Junk to file them as junk, or 🗄️ Archive to keep them out of the Inbox. In the Junk folder the button is ✅ Not junk, which puts them back in the Inbox. If the mailbox has no Junk or Archive folder, one is made the first time you use it. 📁 New folder makes a folder of your own; each folder you made has a small ✏️ (rename) and 🗑️ (remove) beside it in the folder list, and the same ✏️ Rename folder and Remove folder buttons appear above the list while you are inside it. Removing a folder that has mail in it moves that mail to the Trash first (you are asked), so nothing is lost until the Trash is emptied; a folder with other folders inside it must be tidied first. On the shared mailbox only an administrator can remove a folder, in your own mailbox you can. Inbox, Drafts, Sent, Junk, Trash and Archive cannot be renamed or removed. Double-click a message to open it full size, with Back to the list to return.
  • Switching mailbox: if you connected a mailbox to your own account in Settings (for example your own name@ address; its login must be your full email address), a drop-down above the list lets you switch between the team's shared mailbox and your own. When you open Mail, your personal mailbox is loaded first by default. Your own mailbox is marked (mine), and only you can see it: it never appears for a teammate, not even an administrator. In your own mailbox you can also empty the Trash yourself.
  • Finding people as you type: in To, Cc and Bcc, start typing a name or an email address (two letters is enough) and the CRM's contacts that match are listed underneath, with their company. Click one, or use the arrow keys and press Enter or Tab, and it is added as Name <address>, ready for the next person. Only contacts that have an email address are offered, and deleted ones are not. Typing a full address that is not a contact still works as before.
  • Choosing who it is sent from: when you have more than one mailbox to send from, the message has a From drop-down. It lists the team's shared mailboxes and any mailbox you connected to your own account in Settings (marked my mailbox; it needs your full email address as its login). Pick the one you want: the message goes out from that address and the copy is kept in that mailbox's Sent folder. Nobody else can send as your own mailbox, and it is never shown on the Mail page for anyone else. Sent from your own mailbox, a new message starts with your own signature (the one you saved in your account settings, formatting, logo and links included); from a shared mailbox it starts with your name and the company. Change the From drop-down and the signature at the foot changes with it.
  • If the mail server refuses one address: when a message goes to several people and the server takes it for some but refuses others, the message has been sent. A notice names the refused addresses so you can correct them and write to those people again, instead of resending to everyone. A message attached to another message (an .eml) forwards with its contents, named after its subject.
  • Sent as the team's address: everything goes out from hello@pds-tech.ai, with your first name and the company in the sender line, so the customer sees who wrote. A copy is kept in the Sent folder, a reply is marked as answered, and the CRM remembers who sent it (shown as "Sent by" when anyone opens that message). If you write to a Contact whose company has an open deal, the email is also put on that deal's timeline.
  • Drafts: Save draft keeps what you have written in the Drafts folder, where anyone on the team can open it and click ✏️ Edit draft to finish it. If you try to leave a message you have started, you are asked whether to save it as a draft. Sending removes the draft.
  • Limits: up to 50 people on one message, 60 messages an hour and 150 a day each, 400 a day for the whole mailbox. They are there to stop a stolen login being used to send spam from your domain.
  • Leads still work as before: the mailbox is also checked every few minutes for new leads, contacts' emails and meeting invites. Moving or deleting a message here does not stop that.
  • More mailboxes: an administrator can add other shared mailboxes later (for example a support address); a drop-down next to the search box then switches between them.

Tickets: answering support emails together

Click 🎫 Tickets in the top bar (which shows a live badge with the count of open tickets waiting on a reply). A ticket is one customer's support request, holding the entire email conversation, internal team notes, attachments, priority, category, assignee, and CRM customer context in one workspace.

  • Making a ticket: click + New Ticket at the top of the Tickets page to log a support ticket manually (and optionally send an immediate email to the customer), or open an email on the 📬 Mail page and click 🎫 Make ticket. If an incoming message replies to an existing ticket thread, it is added to that ticket automatically (and re-opens a solved ticket or restores a trashed one). An administrator can also configure a support mailbox watcher or webhook so unread customer mail becomes tickets automatically.
  • Replying directly inside the ticket: use the built-in ✉️ Reply by Email composer at the bottom of any ticket to reply without leaving the Tickets page. Pick the From mailbox, edit To / Cc, attach files with 📎 Attach files, and click Send & mark Waiting or Send & mark Solved. Your reply is sent over SMTP, saved to the mailbox's Sent folder, logged on the customer's CRM timeline, and appended to the ticket thread.
  • ✨ Draft with AI & 💬 Saved Replies: click ✨ Draft with AI to have the assistant draft a reply from the conversation and your business knowledge (nothing is ever sent automatically — click Insert into composer to review and edit first). Click 💬 Saved Replies in the toolbar or composer to create, edit, and insert reusable canned responses in one click.
  • Priority, Category & Waiting-Time SLA: every ticket has a priority (🟢 Low, 🔵 Normal, 🟠 High, 🔴 Urgent) and category (General, Technical, Billing, Onboarding, Bug Report, Feature Request, Account & Access). Open tickets show a live ⏱️ Waiting badge indicating how long the customer has been waiting since their last message, and you can filter or sort the list by priority, category, status, assignee, or longest-waiting first.
  • Attachments: incoming and sent email attachments appear directly on each ticket message and can be downloaded in one click, and you can attach files to outbound replies. A reply's attachment downloads from its copy in the Sent folder; if the reply was sent from a different mailbox than the ticket's (or its Sent copy was moved or deleted), open it in the Mail page's Sent folder instead.
  • Private notes: switch the composer tab to 📝 Private Team Note to leave an internal note for teammates. Notes are never emailed to the customer and are never fed to AI reply drafting.
  • Customer Context panel: the context panel above the thread on every ticket shows the matched CRM Contact and Company, their other support tickets, and (for sales/admin users) open pipeline deals in a responsive multi-column layout. If the requester is not yet in your Contacts, click + Add to CRM Contacts to create and link their contact and company record in one step. Leave the company name blank to use the company of their email domain; someone writing from a personal address (Gmail, Outlook, iCloud and the like) is added with no company, and personal addresses never match a ticket to a company. Click one of the open deals to go straight to that deal; another person's draft deals are never listed, not even for admins.
  • Bulk actions, Merge & Trash: tick the checkboxes on ticket rows to bulk-assign, change status or priority, or move tickets to the Trash (you're asked to confirm first). Open any ticket and click 🔀 Merge… to combine a duplicate ticket's messages and notes into another ticket. Deleted tickets move to 🗑️ Trash for 30 days where they can be restored (or permanently emptied by an administrator).
  • 🔷 Escalating tickets to Jira: click 🔷 Send to Jira at the top of any ticket to export it directly to Atlassian Jira Cloud (e.g. for engineering bugs, QA tasks, or technical issues). A dialog lets you confirm the Jira Project Key, Issue Type (Bug, Task, Story, etc.), summary, and optional escalation notes. When created, the CRM automatically stores the Jira issue key (e.g. SCRUM-335), displays a clickable badge 🔷 Jira: SCRUM-335 ↗ in the ticket header, logs an internal note on the ticket thread, and prevents accidental duplicate issues. Administrators configure Jira credentials and default project settings under Admin Settings → Jira Integration.

Client Assessments, KYC Due Diligence & Security Questionnaires

Click 🛡️ Assessments in the top navigation bar to open the Client Assessments and Security Questionnaires workspace. Enterprise sales and partner onboarding routinely require completing rigorous vendor security assessments, KYC provider due diligence forms, and compliance audits (such as ISO 27001, SOC 2, GDPR, and cloud infrastructure controls). This tool automates the process by matching incoming questions against your verified Knowledge Base and reference architecture documents, pre-populating answers, and providing a rapid review and export workflow.

🛡️ Client Assessment Review Workspace — Client Vendor Security Questionnaire
✨ Auto-Populate Answers ⚡ Bulk Approve High (28) 📥 Export Pack ▾ 32 Total Questions 28 Approved (88%)
📁 Section 1 — Security Controls & Architecture 12 questions
#Client QuestionSuggested / Final ResponseConfidence & CitationsActions
1.1
Are customer documents and audit logs encrypted at rest and in transit?
DIRECT: Yes
All documents and data are encrypted at rest using AES-256 and in transit using TLS 1.3 with automated key rotation...
🟢 High · 98%
📄 Policy §4
✓ Done📚
  • Multi-Format Ingestion: Click + New Assessment to start a questionnaire. You can:
    • Upload File: Ingest an Excel spreadsheet (.xlsx), CSV table, Word document (.docx), or PDF questionnaire. The parser extracts questions, section headers, short answers (Yes/No/Compliant), and full responses.
    • Standard Template: Launch pre-built industry frameworks in 1 click (e.g. KYC Provider Due Diligence Form, Vendor Security Questionnaire POL-20 Appendix B, or ISO 27001 / SOC 2 Cloud Controls).
    • Paste Questions: Paste raw text or web portal questions directly into the multi-line composer to generate a structured assessment instantly.
  • Lossless Excel Write-Back (Original Formatting Preserved): When a client provides an Excel workbook (.xlsx), the CRM preserves their exact binary styling, colors, cell borders, font formatting, sheet tabs, and formulas. When you export with Export → 📗 Original Client Excel (.xlsx), your approved answers are injected directly into their original response columns without altering their corporate template.
  • Filling in runs in the background: when the CRM AI is on, uploading a questionnaire or clicking ✨ Auto-Populate Answers fills the answers in on the server, so you can leave the page and come back; while it works the questionnaire shows Filling in answers… and the page refreshes itself when it's done.
  • Running ✨ Auto-Populate Answers again: answers you have approved or edited (including ones saved with 💾 Save to KB) are never replaced. Questions whose wording and matching Knowledge Base entries haven't changed since they were last answered keep their answer and aren't sent to the AI again, so a second run only works on new or edited questions, questions whose Knowledge Base matches changed, and any the AI couldn't answer last time.
  • Two-Tier Intelligent Matching:
    • Tier 2 (Hybrid Lexical, Domain & Vector Semantic): Fast local matching evaluating canonical question text, domain concept keywords (such as encryption, KMS, IAM, GDPR, DR, RTO/RPO), and semantic similarity against the verified Knowledge Base.
    • Tier 1 (CRM AI / Gemini RAG Synthesis): When enabled or for questions without an exact direct match, the AI synthesizes an accurate, contextual answer grounded in your uploaded reference policies, whitepapers, and architecture documents, returning an estimated confidence score and reasoning notes.
  • Confidence Scoring & Filtering: Each suggestion is tagged with a confidence badge: 🟢 High (80–100%) verified canonical match, 🟡 Medium (50–79%) partial or AI-synthesized answer requiring quick human review, or 🔴 Gap (<50%) question not covered in the knowledge base. Filter pills let you isolate gaps or pending items in one click.
  • ⚡ Bulk Approve High Confidence: Click ⚡ Bulk Approve High-Confidence to review and approve all high-scoring responses at once, dramatically accelerating questionnaire completion time from days to minutes.
  • Continuous Learning (💾 Save to Knowledge Base): Whenever you refine or draft an answer during review, click 💾 Save to KB on the item. It is instantly saved into your organization's permanent Knowledge Base with relevant tags and category, so subsequent questionnaires benefit from your answer automatically: answers you save or add by hand are used when the next questionnaire is filled in.
  • Safe exports: in the CSV and Excel exports, a cell that starts with =, +, - or @ is written as text, so a formula hidden in a client's questionnaire never runs when the file is opened. In the original client workbook only the answer, short-answer and notes cells the CRM writes are treated this way; the client's own formulas stay as they were. Word files that unpack to more than 50 MB are refused, and the list shows the newest 200 assessments. Re-syncing the default Knowledge Base (replacing the built-in entries) needs an administrator and keeps the answers your team saved.
  • Verified Knowledge Base & Reference Documents: Switch to the 📚 Knowledge Base tab to manage your company's canonical facts, compliance assertions, and reference documents (such as your Cloud Architecture Whitepaper, Data Processing Addendum, or Due Diligence Compliance Disclosure). All records are strictly tenant-isolated under Row-Level Security.
  • Deal Page Integration: Every deal page includes a dedicated 🛡️ Client Assessments & Due Diligence panel. You can launch an assessment linked to the deal, view completion status and progress bars, and access the review workspace directly from the pipeline.
  • Multi-Format Exports: Once questions are approved, click 📥 Export to download:
    • 📗 Original Client Excel (.xlsx): Lossless write-back into the client's uploaded workbook.
    • 📊 Clean Excel (.xlsx): Formatted spreadsheet with section headers, short answers, and detailed responses.
    • 📄 CSV Table (.csv): Universal tabular export for import into third-party vendor risk platforms.
    • 📜 Executive Due Diligence Pack (HTML / Print PDF): Beautiful executive presentation document with executive summary, compliance status table, sign-off blocks, and full Q&A disclosure.
    • 📝 Word Document (.doc): Clean Word-compatible disclosure ready for legal signature.

How email sync works

Click Sync email to pull in new emails from the connected mailbox(es) and automatically attach them to the right deal. Here's exactly how it decides where an email goes:

  1. It looks at the sender's email address.
  2. If that exact address matches an existing Contact in the CRM, it finds that contact's company.
  3. It attaches the email to that company's most recently updated open deal.
  4. If no contact matches, or the company has no open deal, the email automatically creates an incoming Lead (see Managing Leads) tagged with the destination inbox, so no message is ever lost.

Sync frequency: Sync runs automatically in the background every 1 minute (the Calendar and an open Meeting Details window refresh themselves every few seconds to show what it found), triggers instantaneously anytime you click the Leads tab, and can also be run manually on demand using the Sync email button. Anyone can use that button: it pulls in your own mailbox and the CRM Primary Inbound Mailbox (hello@pds-tech.ai) only, administrators included (everyone else's mailbox is picked up by the 1-minute background sync). Its "emails in Leads" count only counts emails that left something in Leads, so mail from automated senders, mail it had already seen, and senders someone discarded aren't counted. When a background sync finds new mail for you, you get a pop-up (see Notifications log under Logging in).

Forwarding Email from Secondary Domains (e.g. .io → .ai)

If you own an alternate or legacy domain (such as pds-tech.io) and want emails sent to it to automatically flow into your CRM mailbox (e.g. ben@pds-tech.ai or hello@pds-tech.ai), you can configure an Email Forwarder or Domain Email Catch-All / Alias in your DNS / registrar panel (e.g. Hostinger, Cloudflare, Google Workspace, or Namecheap):

  • Wildcard / Catch-All Forwarding (Recommended): Set a wildcard forwarder on the .io domain (e.g. *@pds-tech.io → *@pds-tech.ai or *@pds-tech.io → hello@pds-tech.ai). Any email sent to any address at the .io domain will automatically deliver to the target .ai inbox.
  • Direct User Alias Forwarding: Configure individual forwarders (e.g. ben@pds-tech.io → ben@pds-tech.ai and stuart@pds-tech.io → stuart@pds-tech.ai).
  • How the CRM Handles Forwarded Mail: When the CRM IMAP sync inspects the incoming email headers, it checks both the primary To: and original recipient headers (such as Delivered-To or X-Forwarded-To). If it was addressed to your personal address, it syncs into your personal schedule, with any deal it creates landing in your Drafts and any lead staying private to you; if it was forwarded to hello@pds-tech.ai, it ingests directly into the Primary Funnel.

Draft deals, and connecting your mailbox

There's a single funnel, the shared pds Primary Funnel: the board everyone sees, fed by the hello@pds-tech.ai mailbox and every deal saved or promoted into it.

Before a deal is ready for the team, you can keep it as a draft. Drafts are private: only you can see them. Administrators, and teammates an admin has given 💼 Access Other Users' Pipeline, cannot see or change them either. That includes the calls and notes you log on a draft, in the calendar as well as on the deal. They don't appear on the board, in the dashboard totals, or in teammates' searches.

Making a draft

  • + New → Deal, fill it in, and click Save as draft instead of Save. The stage you pick is kept as the draft's suggested stage. A draft always belongs to you, so leave the owner as yourself (you can hand it to a teammate once it's promoted).
  • Deals created automatically from your own mailbox arrive as drafts too.

Your drafts appear in the 📝 Drafts tray above the funnel board. Click one to open it like any other deal: you can edit it, log calls and notes, and schedule meetings while it's still a draft. The deal page shows a 📝 Draft chip next to its name.

Promoting a draft into the funnel

When it's ready, pick the stage it should start at and click Promote on its card in the Drafts tray, or use the stage picker and Promote to funnel in the deal page header. It goes onto the board at that stage straight away and the whole team can see it. Promoting to Won sets the probability to 100% (Lost sets 0%); other stages keep the draft's probability. The draft's owner or an administrator can promote it. There's no button to send a deal back to drafts, so only promote deals that are genuinely ready to share.

Connecting your own mailbox & managing passwords

Click your initials at the top right of the header and choose 📫 My Mailbox to connect your own inbox (Hostinger, Gmail, or any IMAP mailbox) directly — your credentials are entered by you, encrypted, and never seen by an admin or anyone else. Once connected, your mailbox syncs automatically: leads it finds stay private to you, and deals it creates land in your Drafts. Use your provider's secure IMAP server on port 993 (other ports aren't accepted). Emails from your mailbox are only matched to your own deals and the shared Primary funnel, and never move a lead that belongs to a teammate. Emails you send are picked up too: mail from your Sent folder to a contact appears on that contact's deal timeline (from the next sync onward; earlier sent mail isn't added).

Updating mailbox password without disconnecting: If your email password or app password changes, click Update Password next to the mailbox in the My Mailbox modal. You can enter your new password directly to update credentials and resume sync without having to disconnect or remove the connection.

CRM Primary Inbound Mailbox: hello@pds-tech.ai is the CRM Primary Inbound Mailbox — the one shared mailbox every CRM user works from. It is default-enabled for all CRM users to ingest incoming inquiries into the Primary funnel. It displays Mailbox Connected along with its live sync status and an Update Password button; it cannot be removed or disconnected.

Nothing leaks by default: the deals your personal mailbox creates are drafts that only you can see, and its leads stay private to you (and administrators). Other sales representatives cannot view your leads, and your drafts won't appear on the funnel board until you promote them.

Users, permissions & team management (Admins)

Administrators have a dedicated ⚙️ User Management & Permissions page (opened from 👤 User Management in the menu) to add team members, configure granular access boundaries, deactivate accounts, and manage departures.

Company footer on campaign emails. On the same page, under the task-reminder switch, enter your registered company name and postal address on one line (up to 300 characters) and click Save. Every campaign email, Test Campaign and builder preview shows it in the footer, as UK PECR and CAN-SPAM expect. Until it is set, starting a campaign warns you that the footer has no address.

⚙️ User Management & Permissions
+ Add User 4 Total Users 2 Administrators
Stuart (stuart@pds-tech.ai) 👑 Administrator
👑 All Mailboxes (Admin) · 💼 All Pipeline · 🟢 Active
Edit / PermissionsDelete
Sales Rep (rep@pds-tech.ai) 👤 Team Member
🔒 Own Mailbox & CRM Primary Inbound Mailbox Only · 🔒 Own Deals Only · 🟢 Active
Edit / PermissionsDelete

To open the admin pages, click your initials (top-right of the header) and, under Admin Settings, pick 👤 User Management, 💾 Server, 🤖 AI Usage, or 🧪 Dev Environment (which opens the development CRM environment in a new tab; when browsing on Dev, it offers a 🚀 Production Environment link that opens the production sign-in page, where you sign in as usual) — or click the ⚙️ Admin button in the main navigation toolbar, which opens that same menu. These are only visible and accessible to users with administrator privileges.

🤖 AI Usage is the same Gemini usage data as the daily emailed report, emailed every day to everyone with AI Usage access, and viewable on demand for a day, a week, a month or any date range (pick the period at the top right; for a long range, clicking a number lists only the newest 2,000 requests and the page says so, while every total still counts all of them): total requests/tokens, a free-key-vs-paid-key breakdown, per-model stats, a detailed error list, automatic model/key switches, and an estimated £ cost for the period's paid-key usage. Requests that carry client or personal data always use the paid key; the free key, if one is set, only does public company research. The live cost formula calculates actual per-token pricing with Google's 75% cached-token discount, audio transcription rates for meeting recordings, and Google's 5,000 free search queries per month. At the top of the page an administrator can choose Automatic (the default), Paid only (the free key is never used) or Free only (the paid key is never used: client data then goes to Google's free tier, and web search and call transcription stop working). Free only asks for confirmation.

When Google Cloud Billing BigQuery export is configured (GCP_BILLING_BIGQUERY_TABLE), the Google Cloud Billing (Actual Spend) card displays the settled gross cost, Google credits applied (free tier and promotional allowances), net billed spend, and variance against live CRM estimates, alongside a per-SKU billing breakdown. Administrators can click 🔄 Sync Google Billing to pull the latest settled charges on demand (the system also refreshes BigQuery billing automatically every 6 hours and before daily report emails).

Click ✉️ Email Full Report next to the period controls to instantly email the complete, formatted usage report (with executive KPIs, key breakdown, model summary, error list, and switch reasons) for the selected period directly to your signed-in email address.

Every number is clickable and opens the individual requests behind it, just below the tiles (time, task, model, key, result, tokens and cost):

  • Total Requests — every call that day, newest first.
  • Total Tokens — the same calls, biggest token users first.
  • Free Key / Paid Key Requests — only the calls on that key. Paid Key also shows why each call ended up on the paid key.
  • Est. Paid-Key Cost / Actual Billed Cost — paid-key calls, most expensive first. Shows settled BigQuery spend when available, with live estimates and variance.
  • Errors — jumps to the error list (click a code there to see what it means).
  • In the By model table, click a model name for its requests, or its error count for its errors.

Click the same tile again, or Close ✕, to hide the detail. Changing the date keeps the detail you had open, now showing that day.

Adding a new team member

Click + Add User at the top of the User Management page. In the Add Team Member window, enter their full name, their work email address (exactly — it decides which incoming leads they can see), and a temporary password of at least 8 characters with no space at the start or end, choose their role and permissions, then click Create Member. This is how you add a teammate — people can't sign themselves up, even with a company email address.

No invitation email is sent. The CRM never emails new users, so send them the CRM address, their login email and the temporary password yourself, and ask them to change it straight away with 🔑 Change Password in their initials menu.

Lead privacy & mailbox access policy

Strict Mailbox Lead Privacy: To guarantee rep confidentiality, sales representatives can strictly only see incoming leads delivered to their own registered mailbox (e.g. ben@pds-tech.ai) or the CRM Primary Inbound Mailbox (hello@pds-tech.ai). Reps can never see leads received at another rep's mailbox (e.g. Ben cannot see Stuart's leads). The Administrator is the only role permitted to view, search, and triage leads across all team mailboxes.

Granular permissions

By default, sales reps are focused on their own pipeline. Administrators configure team member roles and permissions using the following settings:

Permission / SettingWhen EnabledWhen Disabled (Restricted)
👑 AdministratorFull access to all CRM data, analytics, settings, team user management, and All Mailboxes for incoming leads.Standard sales representative role without access to admin settings or other reps' mailboxes.
🎧 Support Role (Tickets, Companies & Contacts only)Dedicated customer-support role: the user lands directly on 🎫 Tickets with full access to tickets, ticket email replies/attachments, and Saved Replies, plus read-only access to 🏢 Companies and 👤 Contacts. They have no access to the Mail page (ticket replies go from the ticket itself), and their AI assistant sees companies and contacts only. All deals, funnels, leads, campaigns, calendar, partner terms, and sales figures are completely hidden and blocked on the server.User has standard CRM sales access (Funnel, Deals, Leads, Calendar, Campaigns, Mail, etc.).
📥 Leads Mailbox Access👑 All Mailboxes (Admin only): Full visibility to triage leads across all team inboxes.🔒 Own Mailbox & CRM Primary Inbound Mailbox Only: The rep is strictly scoped to leads sent to their personal inbox, the CRM Primary Inbound Mailbox (hello@pds-tech.ai), or leads explicitly assigned to them.
💼 Access Other Users' PipelineThe rep has full visibility over the team's shared pipeline. Draft deals always remain strictly private to their creator, administrators included, and so do the meetings on them.The rep sees the shared funnel and their own drafts. (The 🔒 Own Deals Only badge on the User Management page means exactly this: own drafts plus the funnel.)
🤖 View AI UsageThe AI Usage page appears in the person's account menu, showing what the CRM's AI is costing and doing each day. Administrators always have it.The AI Usage page is hidden from the rep and refused if they open its link.
🧪 Access Dev EnvironmentThe Dev Environment link appears under the person's account menu (pointing to https://dev.crm.pds-tech.ai) with seamless single sign-on (SSO) that logs them into the dev environment automatically in a new tab without having to re-enter login details. Sign-on only goes one way, from production to dev: on the dev environment the 🚀 Production Environment link opens the production sign-in page and you sign in there. Someone who comes to dev this way and has no dev account gets an ordinary one, never an administrator's, whatever they are on production. Administrators always have access.The Dev Environment link is hidden from the user's account menu.
📅 Invite to meetings automaticallyThe person is added to the invitees whenever a teammate opens Schedule Meeting (they can be removed there with the ✕). On for everyone by default.The person is left out of that automatic list but can still be added by hand. Use it for an account that isn't a person to meet with, such as the CRM administrator login.
🟢 Active AccountAccount is active and can sign in normally.Account is deactivated. The CRM refuses everything from it straight away: any session already open is sent back to the sign-in screen ("Your session has expired") as soon as it next loads anything, the person drops off the deal-owner lists, and they can't reset their password. Their deals, notes and records stay intact. Current behaviour: the sign-in form still accepts their password, but the app then opens empty and every screen fails to load — there's no "account disabled" message.

Safe deletion & data protection

When an employee departs, you can either deactivate their account (Edit / Permissions → untick 🟢 Active Account → Save Changes) or click Delete on their row:

  • Deactivation is recommended for standard offboarding or temporary pauses: nothing is moved or deleted, ownership stays exactly as it was, and ticking the box again restores their access.
  • Deletion is permanent (there's no undo) and moves their data around:
    • Every one of their drafts, and every lead from their own mailbox, moves into the shared funnel (drafts keep their stage), so the whole team can see them.
    • Deals and leads they owned lose their owner (a deal page then shows Owner as —), ready for you to assign someone new.
    • Meetings they hosted are kept, but no longer have a host.
    • All of their 📫 My Mailbox connections are deleted, so those mailboxes stop syncing. If the CRM Primary Inbound Mailbox (hello@pds-tech.ai) was connected on their account, connect it again from an admin account straight away.
    • Contacts, companies, and the emails, calls and notes logged on deals are untouched. Leads sent to their email address stay too, but from then on only admins can see them.
  • Self-Protection Guardrails: Administrators cannot accidentally delete, demote, or deactivate their own active account.

🔷 Jira Cloud Integration

Administrators can configure the direct connection between CRM support tickets and Atlassian Jira Cloud under Admin Settings → Jira Integration (or via the sidebar's Jira Integration item):

  • Jira Cloud URL: The full address of your Jira workspace (e.g. https://your-workspace.atlassian.net).
  • Atlassian User Email: The account email of the administrator or service account that generated the token.
  • Atlassian API Token: Generated securely in Atlassian Account Settings. The CRM stores this securely and keeps it masked in the interface.
  • Default Project Key: The default Jira project (e.g. SCRUM or SUP) tickets are escalated to. Click Fetch to auto-discover all accessible projects in your Jira workspace and pick one with a single click.
  • Default Issue Type: The issue type created in Jira (Task, Bug, Story, etc.).
  • ⚡ Test Connection: Verifies live connectivity, credentials, and project permissions directly against Atlassian's REST API without leaving the page.

Trash & restoring deleted records

Deleting a Company, Contact, Deal, Ticket or Calendar meeting doesn't erase it right away — it moves to that section's Trash (on the Calendar, View Trash next to + Schedule Meeting; on Tickets, the 🗑️ Trash filter button), recoverable for 30 days before it's permanently purged. You can search every Trash. On Companies, Contacts and Tickets, the page's usual search box stays at the top while you're in the Trash and searches it instead (name, industry, location or website for companies; name, email, company or location for contacts; subject or requester for tickets). The Deals and Calendar Trash have a search box at the top of the list (name, company, date). Administrators also see an Empty Trash button at the top of each Trash, which permanently deletes everything in it straight away (emptying the Companies Trash also deletes those companies' contacts and deals). It asks first and can't be undone. A meeting in the Trash is off the Calendar, its join link shows guests that it's cancelled, and the note it logged on the deal or contact is hidden until you restore it. Meeting and call notes logged from email aren't meetings, so deleting one of those from the Calendar is still permanent (the confirmation says which).

Anything in the Trash also hides what's linked to it: a company in the Trash hides its contacts and deals, and the Calendar hides meetings linked to any of them. Email sync treats a contact whose company is in the Trash as unknown, so a meeting invite you send them still shows on your calendar (it just isn't linked to them). Restoring the company brings its contacts, deals and their older meetings back.

Companies
View Trash

Click View Trash at the top of the Companies or Contacts page, or Deals Trash in the funnel toolbar (inside the ⋯ menu on a tablet or phone), to see what's been deleted, and hit Restore on anything you want back. Deals Trash lists every deleted deal you can see, including your deleted drafts (a restored draft goes back to your Drafts). If you've since added another company with the same name, restoring the old one tells you so: rename or merge the newer company first, then restore. While a deal or company is in the trash, its meetings are hidden from the Calendar too, and come back if you restore it.

Deleting a company also hides its contacts and deals from normal view (they move to trash along with it), so if a contact or deal has unexpectedly disappeared, check whether its parent company was deleted. A company that has a teammate's draft deals can only be deleted by an Administrator.

Dashboard & reporting

Click Dashboard above the funnel board (or navigate to #/dashboard) for the complete analytics suite behind your CRM. The analytics dashboard is divided into 4 dedicated reporting tabs: 📈 Sales & Pipeline, 📧 Outbound Campaigns, 🎥 Meetings & Transcripts, and 👥 Leads & Channels.

Choosing the period

The Period menu under the tabs sets which dates the figures cover, on every tab: All time (the default), Last 7 / 30 / 90 days, This month, Last month, This quarter, This year or Custom dates... (pick the two days and press Apply; both days count). Your choice is remembered in this browser. With a period chosen:

  • Won Total, Win Rate, revenue and won/lost counts per rep, and partner and source revenue count deals won or lost in the period.
  • Stage conversion follows the deals created in the period; Activity by Rep counts emails, calls, notes and meetings logged in it.
  • Campaigns count emails sent and opens, replies and bounces in the period; Meetings those that started in it; Leads those that first got in touch in it.
  • Things that describe today stay the same whatever the period: Pipeline Total, Weighted Forecast, the stage counts, days in stage, stalled deals and won this month / quarter. A line under the menu says so.

1. Sales & Pipeline Analytics

The primary revenue intelligence hub for tracking pipeline health, deal conversion velocity, rep quotas, and stalled deal risk:

Tile / CardWhat it shows
Pipeline TotalCombined monetary value of all currently active pipeline deals
Weighted ForecastProbability-weighted forecast revenue based on deal stages (Prospecting 10%, Qualified 30%, Proposal 60%, Negotiation 85%)
Won TotalTotal closed-won deal revenue. The line under it shows the value won this quarter (by the date each deal was marked Won); hover over it for the number of deals, and for this month's figures. A deal that is reopened drops out until it is won again.
Win RateShare of closed deals that were won, not lost (Won / (Won + Lost))
Avg Deal SizeAverage revenue value across all active and won deals in the funnel
🤝 Partner SourcedCombined value (open pipeline + won revenue) of all partner-attributed deals
Sales Funnel & VelocityShows deal count at each stage, plus step-to-step conversion percentages (e.g. Qualified → Proposal) and average dwell time (days) in each stage. A conversion percentage is the share of deals that reached the first stage and went on to reach the second, based on the furthest stage each deal has ever reached (so a deal later lost at Negotiation still counts as having got that far, and a deal that skipped a stage counts as having passed it). Dwell time counts from the day each open deal entered its current stage; editing a deal's other details does not reset it. Click any bar to highlight that stage's deals on the Funnel board.
Rep Performance (Activity vs. Revenue)Toggle between Activity (logged emails, calls, meetings, notes) and Revenue (active pipeline vs. won deal value) broken down per sales rep. Click any bar to drill into that rep's deals.
⚠️ Stalled Deals at RiskSurfaces all active pipeline deals with no recorded interaction (email, call, meeting, or note) in 14+ days. Shows idle days, assigned owner, and deal value. Click any deal to open its full conversation drawer immediately.
Revenue by partner and eventTable of each partner (🤝) and event with deal count, active pipeline, and won revenue — click any row to drill into those deals.

2. Outbound Campaigns Analytics

Deliverability, volume, and engagement metrics across your cold email sequences:

  • Active Campaigns & Prospects: Total active outreach sequences and total enrolled prospect contacts.
  • Human Open Rate: Genuine human opens, strictly filtering out automated antivirus scanners and firewall bot pre-fetches.
  • Reply Rate: Percentage of delivered prospect emails that generated authentic inbound replies.
  • Sender Infrastructure & Warm-up: Real-time count of active secondary sending mailboxes and senders actively enrolled in automated 28-day warm-up loops. Direct button to jump to Sender Mailboxes & Warm-up management.

3. Meetings & Video Intelligence

Insights into video calls, scheduled calendar meetings, and AI audio transcription:

  • Meeting Volume & Hours: Total booked calendar sessions, completed meetings, and total conversation time (hours).
  • Deal Pipeline Attachment Rate: Percentage of client meetings linked directly to an active deal opportunity in your sales pipeline.
  • Whisper AI Transcripts: Count of recorded video calls transcribed and processed into structured CRM deal summaries, key discussion points, and action items.

4. Leads & Acquisition Channels

Inbound attribution, channel distribution, and lead-to-deal qualification velocity:

  • Lead Conversion Rate: Percentage of captured leads that have been qualified and converted into contacts.
  • Acquisition Channels Breakdown: Distribution of leads originating from the Website AI Chatbot, Shared Inbound Email (hello@pds-tech.ai), Partner Referrals, and Manual Prospecting, with visual share percentages.
  • Led to a Deal & Won Revenue: for each channel, how many converted leads had their email go onto a deal, and what those deals have won (a deal reached by several leads of one channel counts once). This follows the deal each lead was converted to, recorded at conversion, rather than matching email addresses. Deals in the Trash, and other people's drafts, are not counted. With a Period chosen, it counts the leads that first got in touch in that period.
  • Quick Navigation: Direct one-click access to the full Leads list and AI Prospect Research tools.

Outbound email campaigns, deliverability & mailbox warm-up

The ✉️ Campaigns tab empowers your sales pipeline with multi-step cold email sequences, automated sender domain rotation, bot-shielded engagement tracking, and deliverability protection.

1. Secondary Sender Mailboxes & Domain Protection

To safeguard your primary operating domain (pds-tech.ai) from spam filter penalties and mailbox suspensions, cold outreach is conducted through dedicated secondary domains (e.g. pds-tech.io) hosted on Hostinger. Senders are configured under ✉️ Campaigns → Senders & Warm-up. Adding, editing, testing, removing or choosing the default sender, and removing a suppression, are for administrators; everyone can see the senders to pick one for a campaign, and anyone can add an address to the suppression list.

  • SSL/TLS Encryption: Connects securely to Hostinger SMTP (port 465) and IMAP (port 993). A sender's mail servers must be on a public address and use a secure port (465 or 587 for outgoing, 993 for incoming); an internal address is refused when it is saved.
  • Automated 28-Day Ramp Schedule: Newly connected mailboxes start at 5 emails/day and automatically graduate (Day 1-3: 5/day → Day 4-7: 10/day → Day 8-14: 20/day → Day 15-21: 30/day → max cap).
  • Provider Ceilings: Hard limits prevent hitting Hostinger's hourly/daily thresholds.

2. Automated Mailbox Warm-up Engine

Every active sender mailbox continuously participates in a dual-loop warm-up routine with seed mailboxes and peer inboxes. The engine runs automatically in the background every 5 minutes:

  • Peer-to-Peer Exchange: Warm-up emails flow exclusively between your internal sender mailboxes and dedicated seed accounts. It never emails leads, clients, or personal contacts.
  • How to Warm Up a Mailbox: To warm up a desired mailbox (e.g. welcome@pds-tech.io), ensure you have at least two mailboxes configured under Sender Mailboxes & Warm-up with the Automated Warm-up Loop option enabled. The CRM will automatically exchange natural peer emails between them, inspect the Spam folders, mark emails as read, flag them as important, and send conversational replies.
  • Spam Rescue: The engine automatically detects when warm-up messages land in Spam/Junk, moves them back to the Primary Inbox, and marks them read/starred. This trains Google, Microsoft, and Yahoo spam filters that your domain is trustworthy.

3. Connecting & Editing Different Email Providers (Hostinger, Gmail, Outlook/Live)

When adding a sender mailbox via + Add Sender Mailbox or modifying credentials with Edit / Update Password, you can use the provider quick-preset buttons to prefill the correct hosts and ports:

ProviderRecommended Host & PortPassword / Credential Requirements
Hostinger
(Recommended for cold outreach)
SMTP: smtp.hostinger.com:465 (SSL)
IMAP: imap.hostinger.com:993 (SSL)
Enter your full email address (e.g. welcome@pds-tech.io) once, in the Email field (it is also the login), and your standard mailbox password.
Gmail / Google Workspace SMTP: smtp.gmail.com:465 (SSL)
IMAP: imap.gmail.com:993 (SSL)
Requires a Google App Password: Google does not allow using your regular Google account password for automated SMTP/IMAP. You must have 2-Step Verification enabled in your Google Account → Security → App passwords → create a 16-character App Password (e.g. abcd efgh ijkl mnop) and enter that into the CRM.
Outlook / Office 365 / Live SMTP: smtp.office365.com:587 (STARTTLS)
IMAP: outlook.office365.com:993 (SSL)
Requires a Microsoft App Password: If 2FA or Modern Authentication (MFA) is active on your Microsoft/Office 365 account, generate an App Password under Microsoft Security settings to authenticate.

Editing a Sender or Updating Credentials: You do not need to remove and re-add a sender mailbox if credentials change. Simply click Edit / Update Password on the sender mailbox card under Sender Mailboxes & Warm-up. Type the updated password (or leave it blank to retain the current password), save, and click Test Login to verify connectivity.

🛡️ Deliverability & DNS Health Audit: Click 🛡️ Deliverability & DNS on any sender mailbox card to run a real-time DNS and reputation audit on that mailbox's sending domain. The audit verifies SPF syntax and qualifiers, DKIM 1024/2048-bit active public keys, DMARC policy alignment, MX servers, and queries top B2B domain blacklists (Spamhaus DBL, SURBL, URIBL). It provides an overall 0–100 health score with actionable guidance to ensure your outbound emails pass corporate filters (Exchange / Microsoft 365 / Mimecast / Proofpoint).

Default Sender Mailbox: Designate a preferred mailbox as the Default Sender for your outbound campaigns. You can check ★ Set as Default Sender Mailbox when creating/editing a mailbox, or click the ★ Set Default button directly on any sender card in the list. The default mailbox will display a ★ Default Sender badge, will automatically be pre-selected when launching new campaigns, and serves as the automatic sending fallback if a campaign has no explicit sender configured.

3. Campaign Template Styles, Live Preview, Custom HTML & Email Signatures

Outbound campaigns support rich presentation designs, a live interactive visual previewer for each design, raw custom HTML code, and hierarchical signature resolution:

  • Test Campaign: At the bottom of the New / Edit Email Campaign window, click Test Campaign to email every step of the campaign, exactly as written there (saved or not), to yourself. It is sent from you, using the mailbox that is your own login address (Settings → My Mailbox, or a sender mailbox with that address), to that same address, so Ben's test goes from ben@ to ben@ and Stuart's from stuart@ to stuart@. It is never sent from, or to, anyone else's mailbox such as hello@, and the sender ticked in the builder plays no part; if no mailbox for your address is connected it tells you so instead of sending. It uses sample values (Alex Mercer at Acme Gaming) and your own signature, and each subject starts with [Test 1 of 3]. Nothing is recorded: no recipients, no open or click tracking, and the Unsubscribe link in a test is a sample.
  • Logos in every design: each email shows the pds Tech logo once, in its header, in the version that suits the header (a white word on a dark background, a navy word on white or Paper). There is no second mark in the footer and no logo beside your signature.
  • Live Interactive Template Preview & Style Switcher: Right inside the New / Edit Email Campaign modal under Template Style, an embedded Live Preview Panel dynamically scales to show the complete email envelope—from top header to bottom unsubscribe footer—a moment after you stop typing. Every design, plain text and custom HTML included, is drawn by the same server code that sends the email, so what you see is what goes out (if a preview can't be drawn, a short Preview not available note says why):
    • One place to pick the style: choose a design from the Template Style dropdown and the preview switches to it straight away.
    • Sequence Templates fill the copy, styles only change the look: pick a Sequence Template to fill in seven ready-written emails; switching style afterwards never touches them (see section 8).
    • Touch / Step Switcher & Sample Merge Preview: Switch between Touch 1, Touch 2, etc. to preview each follow-up step, complete with realistic sample merge tag replacements ({{first_name}}, {{company}}, {{ai_opener}}), the selected sender's From header, and the rendered executive signature block. Click 👁️ Hide Preview / Show Preview anytime to collapse or expand the preview frame. On a phone the preview sits just below Template Style and above the steps, scaled down to fit the screen.
    • Full Preview Template Switcher & Responsive Rescaling: In the Template Style Editor, click ⛶ Full Preview to expand the preview across your entire screen. You can switch between styles directly from the Template dropdown in the top preview bar without leaving full preview mode. In the mini previewer, the email dynamically rescales to fit whatever size the preview container is without horizontal scrollbars, and you can switch between 🖥️ Desktop, 📱 Mobile, and ↔️ Fit device modes.
  • Six email designs, three light and three dark: the Template Style menu groups them under Light designs and Dark designs, with Plain text under Other and your saved custom HTML templates below:
    • Branded card (light): a white card on Paper with a teal top edge, the logo with a one-line descriptor beside it, the page links and a teal button.
    • Clean letter (light): reads like a personal email: a white page, a small logo over a thin line, your message and signature, and no button.
    • Teal feature (light): a soft-teal band with the logo centred over a headline and one line of detail, then your message and a rounded teal button.
    • pds Midnight (dark): the dark Ink card for launch and demo outreach: header artwork with the pds logo drawn in, a centred headline and subtitle, your message, a rounded teal button and your signature on a light Paper card.
    • Ink minimal (dark): a dark Ink card kept simple: the logo and a short teal line, left-aligned text, a teal button and your signature on a light Paper card.
    • Deep teal (dark): a deep-teal card with the logo centred over a headline, a light Paper button and your signature on a light Paper card.
    • Plain text: pure unformatted text with no HTML around it, for the best deliverability on a 1-on-1 note.
    • Custom HTML: your own HTML design or pasted Outlook signature (see below). Every custom template you save appears here too.

    Built the same way. All six share one layout grid: a 600px card that shrinks to fit a phone, the same margins (40px each side, 24px on a phone), the same text size and the same space around the button, signature and footer. Each shows the logo once and never repeats a line: your website is in your signature only, your company address only in the footer line, and the footer holds just that line and the Unsubscribe link, plus one ownership line naming TCAC Tech Holdings. They work in Outlook, Gmail and Apple Mail, and the preview in the builder is drawn by the same code that sends the email. The headline, descriptor, button text and link come from the style, so change them with Edit Template; the colours are fixed by the design.

    Older designs. The CRM used to offer more designs (Standard, Conversational, Official Branded, Card Style, Presentation, Brand Showcase, Promotional & Offer, Visual Hero & Launch, Welcome & Onboarding and Executive / Founder Note). They are no longer offered for new work, but a campaign that already uses one keeps it, and it still looks the same: open it and its design is still in the menu (marked no longer offered), so you can save the campaign without changing the design. Choose one of the six if you want to switch.

    🎨 Designs & Custom Plain HTML: Outbound campaigns offer a streamlined workflow:

    • 💻 + Paste Custom HTML: Click the dedicated + Paste Custom HTML button in the campaign builder to open the simplified Custom HTML Template Editor:
      • Plain HTML Input: Dedicated, distraction-free code editor to paste your existing HTML email designs, website layouts, or Outlook signatures directly.
      • Save Multiple Custom Templates: Give each custom template a distinct name (e.g. Client Newsletter, Executive Outlook Sig). All custom templates are saved in your tenant database and appear in the campaign template dropdown for instant reuse across campaigns.
      • One-Click Quick Starters: Instant starters (Blank Canvas, Outlook Signature, Newsletter Card) to get started in seconds.
      • Token Insertion Pills: Click-to-insert tokens for {{body}}, {{signature}}, {{first_name}}, {{company}}, and {{unsubscribe_link}}.
      • Company address: the footer line with your registered company name and address comes from Company footer on campaign emails on the User Management page.
      • Unsubscribe link: every campaign email carries a visible unsubscribe link. If a pasted page or custom layout leaves it out, it is added just above the end of the message. Opening the link shows an Unsubscribe button and changes nothing until it is clicked, because company email scanners open every link in an email as it arrives. Mail apps' own one-click unsubscribe still works straight away.
      • Real-Time Live Preview: Side-by-side simulation updating live as you type or paste, with Desktop (640px), Mobile (375px), and Fit toggles.
    • ✏️ Edit Template: (Anyone can add their own custom HTML template with + Paste Custom HTML and change or remove the ones they made; the built-in designs, and templates made by someone else, can only be changed by an administrator. Everyone can choose any design.) Click ✏️ Edit Template to customize the selected design. If a custom HTML template is selected, it opens the plain HTML code editor; if a built-in branded template is selected, it opens the style theme editor.
    • 🖥️ Multi-Device Live Simulation: Switch between Desktop (640px), Mobile (375px), and Fit (100%) preview frames with a single click, or toggle ⛶ Full Preview to expand the email canvas into an immersive true full-screen preview with device controls and a dedicated ✕ close button in the top-right corner.
    • + New Style: Click + New Style to build a new custom template design from scratch. Choose a layout base (Showcase, Promotional, Hero, Welcome, Editorial, Card, Presentation, Branded, Conversational, Standard, Plain, or Custom HTML), pick your brand palette, and set default sequence copy.
    • Live Real-Time Preview: The editor features a live split-pane preview that updates instantly as you tweak colors, badge text, fonts, logos, hero photos, CTAs, or copy tags.
    • Factory Reset & Deletion: Built-in styles can be reset to their original factory defaults at any time via Reset to Factory Default. Custom styles can be duplicated via Clone as New Style or removed via Delete Style.
  • 🧱 Sequence Step Rich Block Quick-Inserter: When composing any sequence step in the campaign builder, click the block icons on the toolbar right above the message body to immediately insert pre-formatted, bulletproof responsive email components:
    • 🔘 Button (CTA): Inserts a bulletproof email button table styled with your brand colors.
    • 🏷️ Coupon Box: Inserts a dashed-border promo card with coupon code and discount badge.
    • 🖼️ Hero Banner: Inserts a full-width responsive hero image with caption.
    • 📰 2-Column Grid: Inserts a responsive side-by-side feature card grid that stacks cleanly on mobile devices.
    • 💬 Testimonial: Inserts an executive blockquote box with author title and quote styling.
    • ✅ Checklist: Inserts a bulleted checklist with checkmark badges for product capabilities or key benefits.
    • ➖ Divider: Inserts a subtle horizontal border divider line.
  • Raw HTML Passthrough: Need full custom styling? You can write or paste raw HTML code directly into any sequence step body (e.g. <table>, <div>, <a>, <p>). The campaign rendering engine automatically detects raw HTML and preserves your markup without double-escaping.
  • Email Signature Resolution Hierarchy: Outbound emails resolve signatures using a three-tier fallback hierarchy:
    1. Sender Mailbox Signature: If the sending mailbox has a custom signature configured under Senders & Warm-up, it takes primary precedence.
    2. User Personal Signature: If the mailbox has no signature, the campaign automatically uses the personal email signature of the campaign owner configured under ✍️ My Email Signature in the account menu.
    3. Default PDS Branded Signature: If neither is set, the system automatically appends the official PDS Tech branded sign-off ("{Sender Name} • pds Tech | Sales & Screening • https://pds-tech.ai").

    ✨ Clean Layout Guarantee: The campaign rendering engine automatically detects if your email body already includes your signature or if you used {{signature}}, preventing duplicate signatures from ever being displayed twice. In HTML styles, signatures are rendered as an executive card with clean brand typography, subtle divider, and official company links.

  • Merge Tags: Personalize messages dynamically with merge tags:
TagWhat it replaces
{{first_name}}Contact's first name (or full name if single token)
{{company}}Linked company name
{{title}}Contact's professional job title
{{ai_opener}}A one-sentence personal opening line written by CRM AI from the contact's and company's research notes, once per recipient. Left out (with its blank line) when there are no notes to base it on
{{signature}}Sender's resolved email signature according to the priority hierarchy above

4. Adding Recipients: Live Contact, Company & Email Lookup

On any campaign detail page, you can build and refine your recipient list in three ways — either right from the inline 🔎 Quick live lookup search bar above the recipients table, or by clicking + Search / Add Recipients to open the multi-select audience picker:

  • 👤 Search CRM Contacts: Type a name, job title, or email fragment to see matching CRM contacts as you type, along with their company name and whether they are already enrolled or opted out.
  • 🏢 Search CRM Companies: Type a company name or industry to select an entire organization and enroll all of its emailable contacts at once.
  • ✉️ Direct Email Lookup & New Email Entry: Type any email address (e.g. jane@acme.com) or paste a list of email addresses. If the address is not in the CRM yet, the system automatically creates a CRM Contact and enrolls them in the campaign sequence.
  • ⚡ Bulk Filter by Industry / Location: Switch to the Bulk Filter tab and click Check Available Audience to see the full list of eligible prospects with individual tick boxes (plus Select All / Tick All / Untick All) so you can inspect and pick the exact contacts to enroll. The list shows the first 200; if more are eligible it says so, and leaving every box ticked adds them all (unticking any adds only the ticked ones). Changing a filter after checking clears the list, so you never add an out-of-date one. A campaign's recipient table shows 100 at a time with a Show more button, and each follow-up step needs a wait of at least one day and an email body before the campaign will save.
  • ✏️ Editing Live & Draft Campaigns: You can modify campaigns even while they are actively running. Click ✏️ Edit Campaign on any campaign detail page or ✏️ Edit directly on a campaign card in the list view. This opens the campaign builder modal pre-filled with all current details, allowing you to update campaign name, description, assigned sender mailboxes, template style (colours and layout), sequence cadence delays, subject lines, and email body copy. Any changes save immediately and apply dynamically to pending touches.
  • 📱 Full Mobile Experience & Dedicated Page Mode: On smartphones and small screens (e.g. Android & iOS devices), opening a campaign or creating a new campaign switches smoothly into a responsive, full-screen mobile page. The campaign builder and audience picker adapt with single-column form fields, touch-friendly cadence controls, and zoom-preventing inputs so you can create, edit, and track outreach campaigns seamlessly on mobile.
  • Deleting & Restoring Campaigns: Any campaign can be deleted, whether it has started or not: click 🗑️ Delete on its row in the campaign list, or on the campaign's own page. It moves to the Campaign Trash rather than being erased. Deleting a running campaign stops it sending straight away (you're warned first). Click 🗑️ View Trash at the top of the Campaigns page to see deleted campaigns, then ↩ Restore to bring one back with its sequence steps, recipients and stats. A campaign that had started comes back paused, so nothing sends until you press 🚀 Start / Resume; one that never started comes back as a draft. Delete Permanently (in the Trash) removes it for good and can't be undone; a running campaign has to go to the Trash first. A campaign in the Trash can't be started, paused or edited until it's restored. Anyone can move a campaign to the Trash, but only the person who owns it, or an admin, can Restore it or Delete Permanently; everyone else sees it marked as in the Trash.

5. Automated Sending Cycles & Manual Immediate Send (⚡ Trigger Send Tick)

The campaign engine automatically runs background cycles ("ticks") every 2 to 5 minutes to evaluate all active campaign queues, enforce sending schedules, check daily and hourly sender limits, and dispatch due emails.

  • ⚡ Trigger Send Tick (Immediate Dispatch & Schedule Warning): In the Campaigns header toolbar (administrators only), clicking the ⚡ Trigger Send Tick button allows you to immediately bypass waiting for the next background cycle and force-dispatch eligible cold emails right away. It only sends your own company's campaigns, never another customer's.
    ⚠️ Abuse Warning: When clicked, a confirmation warning dialog alerts you that manually forcing an immediate send tick overrides the scheduled sending window, day-of-week restrictions, and step cadence delay requirements. Abusing immediate sending can hurt your mailbox sender reputation, trip spam filters, or violate recipient timezone expectations. Mailbox daily safety limits and ramp protection caps are always maintained to prevent mailbox bans.
  • Send Schedules & Throttle Limits: Under ordinary automatic background cycles, the system strictly honors sending windows (e.g., Monday–Friday 09:00–17:00 in the target timezone) and sender mailbox safety caps to protect your deliverability.

6. Bot-Shielded Engagement & Deliverability Intelligence

Engagement analytics automatically filter out automated scanner bots, corporate email firewalls, and Apple Mail Privacy Protection (MPP) prefetch requests. Metrics show true Human Opens and Human Clicks, alongside an AI-calculated engagement score (0–100) identifying Hot Prospects.

7. Inbound Reply Detection & Compliance

An IMAP poller checks your outreach inboxes every 2 minutes, paused ones included (a pause stops sending, not reading), so a reply or an unsubscribe request is never missed. A follow-up always goes from the mailbox that sent the first email, and waits while that mailbox is paused rather than switching. When a prospect replies, the sequence automatically halts to prevent awkward follow-up collisions, and the conversation is logged directly onto any active deal timeline. Every campaign email also complies with RFC 8058 one-click unsubscribe and maintains a global suppression list.

8. Sequence Templates and Template Styles

A campaign is built in this order: give it a name and a description, tick the sender mailboxes, pick a Sequence Template, then switch between Template Styles until the look is right. The two are separate on purpose:

  • Sequence Template is the copy: seven ready-written emails with their subjects and the days between them. Picking one fills in the steps, which you can then edit like any other step. If you have already changed the steps, you are asked before they are replaced. The campaign keeps its own copy, so later changes to a template never alter a campaign you have saved.
  • Template Style is only the look: colours and layout. Switch styles from the Template Style dropdown (the only place to choose it) and the preview follows; your copy stays exactly the same.
The 10 Sequence Templates (7 emails each)
  1. UKGC & NGR Outreach (28 days, operator C-suite): VIP drop-off, SR Code 3.4.3 defensibility, document tampering, ROI arithmetic, API architecture, a pilot proposal and a polite close.
  2. Affordability & Financial Risk (30 days, Head of Compliance, MLRO): financial vulnerability checks with the evidence behind every flag.
  3. VIP Onboarding Speed (30 days, VIP and player operations): shorter waits for high-value players and fewer repeat document requests.
  4. Document Fraud & Tampering (30 days, fraud and risk teams): how edited bank statements give themselves away.
  5. Compliance Team Workload (30 days, compliance operations): clearing the review queue without adding headcount.
  6. Audit Readiness (30 days, compliance directors): showing your working to the regulator, with one-click audit packs.
  7. Entering the UK Market (30 days, operators launching under a UKGC licence): what UK checks involve and how data is held.
  8. Engineering & API Integration (30 days, CTO, Head of Engineering): one endpoint, signed webhooks, security answers and sandbox access.
  9. Free Pilot Invitation (30 days, any compliance decision-maker): leads with a free test on the operator's own anonymised statements.
  10. Event Follow-up (30 days, people met at a conference or expo): a warm follow-up with a recap to share internally.

Every template uses the merge tags {{first_name}}, {{company}} and (most) {{ai_opener}}, with a fallback such as there when a contact has no first name. Your signature is added automatically, so the emails end at the sign-off. A step with no subject is sent as a reply in the same thread.

The AI chatbot on your website

Switched on: pds-tech.ai's website chat is this widget (it replaced Zoho SalesIQ), answering from a text an administrator keeps up to date, and needs PUBLIC_CHAT_ENABLED=1 on the server. Unlike a live-chat service it has no live person on the other end: Talk to a human creates a Lead for the team to follow up. When it's on:

A small chat widget on the pds-tech.ai website answers visitor questions automatically using AI. You won't interact with the widget itself from inside the CRM, but this shows up here:

  • There is no live hand-over to a person in the chat (nobody watches it live). A visitor who wants to talk to the team uses Book a call (next point). It files them as a Lead, tagged via chatbot with attribution source Website ChatBot in the Leads list and filed in the CRM Primary Inbound Mailbox (hello@pds-tech.ai), so every rep can see it — triage it exactly like any other Lead. The email the visitor types isn't verified, so if it already belongs to a lead, the request becomes its own lead (named "… (gave …, not verified)") rather than being added to that one.
  • 📅 Book a call. The widget also has a Book a call link. A visitor picks a 30-minute slot (Monday to Friday, 9:00 to 17:00 UK time, from tomorrow for the next two weeks, never on top of something already on the shared calendar), gives their name, work email and company, and says what they want to do and when they want to start. That qualifies them: it all lands on a Lead (tagged via chatbot, attribution source Website ChatBot, subject Website call request: name (company)), or on the existing Contact if the email matches one. The slot is held at once as ⏳ Call request: name (company) on the shared CRM Primary Inbound Mailbox calendar, so nobody else is offered it, but the visitor is not emailed: the address they typed is unverified.
  • Approving a call request. Open Calendar or Leads: a 📅 Website call requests box lists every request waiting, with what the visitor wrote, and each lead with a requested call displays its approval buttons directly on the lead card and lead details view. ✓ Approve & send invite emails the visitor their calendar invite (with the video link) and turns the held slot into Call with name (company). Approve, I'll email them confirms the call and opens an in-app review modal featuring a full Formatted HTML Preview (branded card, video link button, details table, and calendar links) alongside a plain-text view. From this modal, you can send via CRM Mail (preserving the full branded HTML formatting and calendar .ics attachment; if you change the invite text, in the modal or in CRM Mail, the formatted card is dropped and your edited text is sent as plain text, still with the .ics attached, so what you typed is what arrives; the same goes for the Outlook draft), click 📎 Outlook Draft (.eml) to download and open a ready-to-send draft directly in Microsoft Outlook with the rich formatted card rendered and invite.ics already attached, click 🎨 Copy Formatted Card to copy the rich card to the clipboard, or click ✉️ Open in Email Client (which launches your default desktop client while simultaneously copying the formatted card so you can press Ctrl+V to paste the rich card directly into the email body). Closing the review modal with Done prompts for confirmation to ensure you remember the visitor has not been emailed yet. If you open the invitation in CRM Mail and subsequently click Discard (or navigate away), the CRM protects against phantom bookings by asking what to do with the meeting: Cancel Meeting & Free Slot (which removes the meeting from the calendar, frees the appointment slot for other visitors, and declines the request) or Keep on Calendar (which discards the draft while leaving the confirmed meeting scheduled). Confirmed website calls are assigned to the user who approved them, and can be edited, rescheduled, or cancelled by any user on the team. A waiting request follows its held meeting: move the meeting on the calendar and approving invites the visitor for the new time (the old time goes back on offer); cancel it and the request is declined and the time freed. ✕ Decline frees the time (it goes back on offer), puts the held entry in the Calendar's Trash, and emails nobody. Any user can decide a request, and a request can only be decided once. If the invite email can't be sent the request stays waiting and tells you why. A visitor can have one request waiting at a time, and a few requests a day are allowed from one place. Bank holidays are not known to the booking grid, so decline a request that lands on one.
  • Converting the lead to a Contact. On Leads, Convert to Contact on a call-request lead also asks what to do with the call they asked for: Accept it and email them the invite (the default), Accept it, I'll email them myself (confirming the slot and opening the pre-populated invite email for you to review and edit), Change the time, then accept (pick another day and time, in UK time, which can be any time and not only the visitor's grid, as long as nothing on the shared calendar is there and it's in the future), or Leave it waiting on the Calendar. Accepting turns the held entry into Call with name (company) on the shared calendar, linked to the new contact. If the call can't be confirmed (for example the invite email fails or the new time is taken), the contact is still saved and the screen stays open with the reason, so you can change the choice and press Update.
  • 🌐 Website visits. If your website's chat script is set up to track visitors who accepted your cookie banner, a lead that came from a call request shows a 🌐 Website visits section in its window: where they first came from (a campaign link, an ad, a search, another site or direct), the page they landed on, how many times they came back, how long they stayed, which parts of the page they looked at and what they did (opened the chat, used the calculator, started a form, booked a call). Visitors who rejected cookies, or never answered the banner, are never recorded, and nothing identifies a visitor until they book a call. A free-trial sign-up from the website form now arrives as a lead for the person who signed up (named after them, with their company and attribution source Website Contact Form), instead of being skipped. A tracked visit also shows the visitor's country, browser and system, language, where they left the volume calculator and which button they clicked, and a lead who got in touch and visits again shows up in Today's Actions as Back on the website. Separately, the chat script can count page loads and clicks on the cookie banner for everyone, without recording who they are, so those who rejected cookies are in the totals too. Administrators also get Website Traffic in the account menu: visitors, visits, average visit, how many got in touch, which sources they came from, which sections they looked at and which devices they used, for the last 7 days to 12 months. Every total counts every visit in the period; if a period has more than 20,000 visits, the page says so and its sources and sections tables are worked out from the newest 20,000.

Tips & troubleshooting

SituationWhat it means
On a phone, a pop-up window fills the whole pageThat's by design: on phones, windows like Recommended Actions open as a full page you scroll normally (so your browser's toolbar can tuck away), instead of a small box with its own scroll bar. Close it with ✕ or its buttons and you're back exactly where you were.
Brief looks thin/genericThe deal doesn't have much real interaction history logged yet — add contacts, and let email sync populate real conversations
A real email did not show up after syncCheck the sender's exact email address matches a Contact, and that contact's company has an open deal — otherwise it will show up under Leads instead
Someone emailed in but is not showing as a ContactCheck the Leads page — they are probably sitting there waiting to be converted
A deal I expected is not on the boardCheck the 📝 Drafts tray above the board: a draft isn't on the board until it's promoted. Drafts remain strictly private to the creator until promoted.
Locked out after wrong passwords, or lost the phone for two-step loginThe lock ends by itself after 15 minutes; or use Forgot your password?; or an administrator clicks 🔓 Unlock (or Reset two-step if you lost your phone and your recovery codes) on your row in 👤 User Management.
Forgot your passwordUse Forgot your password? on the sign-in screen — a reset link is emailed to you if the address matches an account
"Password can't start or end with a space."Remove the space from the start or end of the new password. The sign-in screen ignores spaces there, so a password beginning or ending with one could never be used to log in. Spaces in the middle are fine.
A deal, company, contact, lead or meeting changed and you don't know who did itOn a deal, click the 🕘 History tab; on a company or contact card (at the bottom) or in a lead's or meeting's details window, click Show next to 🕘 History. Each lists every change with the old and new value, who made it and when
"You've reached the hourly limit for this AI feature"Each person can run the web-search AI features (LinkedIn research, company and prospect research) 40 times an hour, and the other AI features 120 times an hour. Wait the minutes it says.
"Today's AI budget … is used up" or "AI features are switched off"An admin has configured a daily AI spend limit (GEMINI_DAILY_BUDGET_USD) or switched AI off to prevent surprise costs. Once the day's limit is reached, CRM AI (briefs, drafts, the assistant, research) is paused until midnight UTC (1am UK time in summer) or until an admin raises the cap. Opening a deal still shows its last AI brief, marked as out of date; ↻ Refresh Brief shows this message.
Need a new teammate addedAn admin adds them from 👤 User Management (in the initials menu) with the + Add User button, then sends them their login details — the CRM doesn't send an invitation email
A deactivated teammate can "log in", but nothing loadsThat's current behaviour: the sign-in form still accepts a deactivated account's password, then every screen fails to load. To let them back in, an admin ticks 🟢 Active Account under Edit / Permissions.
Can't see a teammate's leadsBy policy, sales representatives are strictly scoped to their own personal mailbox and the CRM Primary Inbound Mailbox (hello@pds-tech.ai) to guarantee lead privacy. Only users with the Administrator role can view and triage leads across all team member mailboxes.
AI Prepayment Depleted ($0.00 / 402)If your primary Gemini prepaid credit balance in Google AI Studio reaches $0.00, the AI features stop with a "prepayment balance is depleted" message: anything that handles client data is never sent to the free-tier key (GEMINI_FALLBACK_FREE_API_KEY), which can only do public company research. For contact LinkedIn lookups, the CRM queries the high-speed search service (Serper) first at fractions of a cent; if that finds the profile, it pins the confirmed profile to Gemini so paid multi-query search grounding is bypassed entirely. Top up the balance in Google AI Studio to restore the AI features.
AI Prospect Research says "Quota Exceeded" or rate limitThe pipeline utilizes Gemini 3.5 Flash-Lite (with fallbacks to 3.6/3.8 Flash). If search grounding quota limits are reached on your Google AI Studio plan, the pipeline automatically falls back to ungrounded direct model inference with structured JSON formatting so research never fails.
Can't see a teammate's dealsEvery deal on the board is shared. Draft deals remain strictly private to their creator until they are promoted to the board.
Discarded a lead by mistakeOn the Leads page, filter by Discarded status, open the lead, and click Restore Lead to return it to active
Error "You don't have access to modify this record" when discarding or updating a leadLeads are managed by mailbox permission rather than pipeline funnel ownership. Users can freely discard, restore, enrich, or convert any lead that arrived at their personal inbox or the CRM Primary Inbound Mailbox (hello@pds-tech.ai).
A company, contact, or deal has disappearedCheck View Trash on the Companies or Contacts page, or Deals Trash in the funnel toolbar — it may have been deleted (deliberately or by mistake) and can be restored within 30 days
An embedded video call is stuck on "Connecting…" or camera is loadingClick 🔄 Restart Camera to re-acquire the feed. If another program (Zoom, Teams, or another tab) is locking the webcam, close it, or click 🛠️ Test Devices to diagnose browser permissions and hardware access.
The call was recorded but no call notes appeared on the dealOpen the meeting from the Calendar and look under 🎙️ Call recording & notes: it says what went wrong. Click Retry (the audio is kept for 7 days), or paste a transcript from another tool. A recording of a call that is not linked to a deal is saved on the meeting only.
Video call camera works in a tab but not in the window (or vice-versa)Physical webcams can only be accessed by one app/tab at a time on desktop OSes. When using ↗ Pop Out, the CRM modal releases your camera hardware so the tab can connect cleanly; when returning, click ↩ Return Video to Window.
Meeting invite link shows "404 This Page Does Not Exist" on mobile / WhatsAppThe link points to pds-tech.ai (marketing site on Hostinger) instead of crm.pds-tech.ai (the CRM server). Fix: In your 8x8 JaaS Console under Branding, set the custom invite URL to https://crm.pds-tech.ai, or set up a redirect in Hostinger from vpaas-magic-cookie-* and pds-* to https://crm.pds-tech.ai/$1.
Guest joining on mobile phone (iOS Safari / Android Chrome)Guests do not need to install an app. Tapping the link opens the video call directly in their mobile browser; they just need to tap "Allow" when the browser requests camera and microphone access.
How can I tell who accepted or declined a meeting?Open the meeting details from the Calendar, Deal, or Contact. Next to each attendee under Attendees / To, you can see and update their live RSVP status (Accepted in green, Declined in red, or Pending in yellow) via a dropdown selector — and the modal automatically refreshes RSVP responses live in the background while open. Guests can reply directly via their email or calendar software (such as Outlook, Google Calendar, or Apple Calendar METHOD:REPLY); the CRM registers incoming RSVP replies, outgoing calendar responses from connected Sent folders, and Outlook Desktop IMAP acceptances (when Outlook processes and moves an accepted invite into Trash) automatically. A reply only counts for the person who sent it: an email cannot accept or decline for somebody else, and one that merely has the same title as a meeting is ignored unless it comes from someone invited to it. If you change your own RSVP status on an external invite inside the CRM and save, the CRM also dispatches an RFC 5545 METHOD:REPLY email back to the organizer so their calendar updates too.
Discarding a meeting invite draft in CRM MailThe CRM automatically detects that the draft is linked to a confirmed calendar meeting and prompts you with options: Cancel Meeting & Free Slot (cancels the meeting, trashes it from the calendar, frees the appointment slot for other visitors, and declines the request) or Keep on Calendar (discards only the email draft while keeping the meeting confirmed on your calendar).
Stale meeting card still visible on contact or dealClick the meeting to open it — the CRM immediately detects if it has already been deleted on the server, closes the modal, and automatically cleans the stale card from your view. Alternatively, collapsing and re-expanding the contact card always fetches the latest active meetings.
Someone emailed me a meeting invite (Google Meet / Zoom / Teams) — where does it appear, and do I need the app installed?Meeting invites sent to your email (e.g. ben@pes-tech.ai, ben@pds-tech.ai, or any user inbox) are automatically parsed and booked onto your CRM Calendar under 👤 My Schedule (and logged to any matching open deal). Every meeting displays its platform badge and join label (🎥 Join Google Meet ↗, 🎥 Join Teams ↗, 🎥 Join Zoom ↗, 🎥 Join Webex ↗, or 🎥 Join CRM Video ↗) so you can see before clicking whether the call runs directly inside your browser (CRM Video & Google Meet) or may prompt to open an external app or web client (Microsoft Teams, Zoom, Webex).
Do I need to press Sync Email before looking at a deal?No. Opening a deal checks your mailbox and the CRM Primary Inbound Mailbox for new email first, unless an email sync already ran in the last 60 seconds. New emails you sent or received appear on the timeline when the check finishes, and a pop-up says what was found. ↻ Sync Email on the deal page still checks again straight away.
How do I update my mailbox password if I changed my email provider credentials?Open the user menu at top right, click 📫 My Mailbox, locate your mailbox connection, and click Update Password. Enter your new password and submit; your credentials update securely without having to disconnect or reconnect the mailbox.
Sender Mailbox shows "SMTP login rejected: 5.7.8 Error: authentication failed" or "IMAP login rejected"This error means Hostinger (or your email host) rejected the mailbox password or username. To resolve: (1) Verify you can log in to Hostinger Webmail (e.g. mail.hostinger.com) with the exact email and password; (2) In Campaigns → Sender Mailboxes & Warm-up, click Edit / Update Password on the mailbox card; (3) Enter the confirmed mailbox password; (4) Click Save Mailbox and then Test Login.
Do I need to refresh the deal page to see notes my teammate added?No. Deal timelines update in real time via WebSockets and live polling. When a colleague saves a note, it appears instantly with an accent pulse highlight and toast notification.
Company shows UK London office instead of its registered holding (e.g. Gibraltar)The CRM deliberately prioritizes UK commercial operations, London headquarters, and UK phone numbers (+44...) over offshore tax/license registries for active sales outreach.
How do I enrich companies with UK details?An admin clicks ✨ Prospecting on the Companies page, then 🇬🇧 UK AI Research, ticks one, some or all companies and clicks Enrich. It runs on the server in the background, with a progress counter at the bottom left and a notification when it finishes, even if you close the tab.
How do I delete old mailbox-synced meetings or call summaries from the calendar?On the Calendar page, every entry has a 🗑️ quick delete button and a checkbox. You can delete items individually or tick the "Select All" box on the ✉️ Mailbox Synced tab and click Delete Selected to purge all old entries at once.
Can I forward email from my .io domain to my .ai mailbox?Yes. Set up a wildcard or alias forwarder (e.g. *@pds-tech.io → *@pds-tech.ai) in your DNS/registrar (Hostinger, Cloudflare, etc.). The CRM email sync parses forwarded recipient headers automatically and ingests them into the appropriate funnel.
Why does repeated AI enrichment load instantly without charging search queries?To prevent burning paid Google Search Grounding credits, company enrichment and contact LinkedIn lookups are intelligently cached for 7 to 14 days. If new live search data is needed, clicking with force or updating after the cache window automatically refreshes from Google.
Gemini API balance or "Prepayment balance depleted ($0.00) / 402" errorGoogle AI Studio operates on prepaid pay-as-you-go credits. To prevent interruptions, set up Auto-reload in your Google AI Studio Quota & Billing dashboard (e.g. reload £5 when balance drops below £1). The CRM copilot also automatically strips redundant context to conserve tokens.
Which low-cost Gemini models are used across the CRM?The CRM defaults to the latest cost-efficient Flash models (such as gemini-2.5-flash and gemini-3.5-flash-lite) with automatic resilience fallback. Furthermore, Google Search Grounding can be skipped when web search is not needed to avoid search tool charges.
Why do companies and contacts with active deals have more detailed AI research?Accounts and contacts with open pipeline deals are automatically prioritized with Gemini 3.8 Flash and an expanded 8,192 token output budget. The AI performs deep executive profiling, strategic priority analysis, and commercial signal detection specifically aligned with the deal's size and stage.
How do I enrich all contacts and companies with active deals in one go?Click ✨ Prospecting on the Contacts or Companies page, then 💼✨ Enrich Active Deals, or open 🇬🇧 UK AI Research from the same page and click 💼 With active deals, tick Also enrich contacts at selected companies, and click Enrich. The job runs in the background on the server with real-time status chips at the bottom left.
Will AI research overwrite contact or company details I manually typed or updated?Never without your explicit approval. Whenever AI research discovers new or updated fields, the CRM opens a Review AI Discovered Details side-by-side comparison modal. This displays your current values alongside the AI discovered values, equipped with individual checkboxes for each field and a Select All toggle so you choose precisely which fields to overwrite or apply. You can also click Keep AI Notes Only to save the research notes while keeping all existing fields unchanged.
Will outbound cold emails risk our main pds-tech.ai domain?No. All outreach campaigns are isolated to secondary domains (such as pds-tech.io) configured under ✉️ Campaigns → Senders. Your primary domain is never used for automated cold sequences.
How do I set my personal email signature or customize it per campaign?Click your user profile menu at top right and select ✍️ My Email Signature. Copy your signature in Outlook and paste it into the box so it looks exactly the same in your emails (or type plain text), or click ⚡ Pre-populate PDS Signature to insert your official PDS Tech sign-off. If a sender mailbox has its own signature configured in Senders & Warm-up, the mailbox signature is used; otherwise your personal user signature is automatically attached.
Can I write custom HTML emails or use card / meeting-invite layouts?Yes! When building or editing an email campaign, select the Template Style dropdown (e.g. pds Tech Official, Card Style, Presentation, Branded, Conversational, Standard, or Plain) or click + Paste Custom HTML. You can also write or paste raw HTML markup (such as custom tables, divs, styled buttons, or styling containers) directly into the message body; the campaign engine will render and send your custom HTML cleanly.
How do I create or edit campaign template styles?In the Campaign Builder under Template Style, click ✏️ Edit Style to customize the active design or + New Style to create a new one. The Campaign Template Style Editor allows you to select a layout base, customize page backdrops, card fills, header ink colors, badge labels and colors, fonts, corner radius, and footer taglines, with a live preview that updates a moment after each change and is drawn by the same code that sends the email. A style sets only the look; the copy comes from a Sequence Template or what you write in the steps. Built-in styles can be reset to factory defaults, and custom styles can be cloned or deleted.
Why are emails sending in small daily batches initially?New sender mailboxes are automatically enrolled in the 28-day ramp schedule (starting at 5 sends/day). This gradually builds IP/domain reputation with spam filters. The daily cap increases automatically over 4 weeks.
Does email tracking report false opens from corporate firewall scanners?No. Our tracking engine inspects user-agent signatures, datacenter IP ranges, and request timing to classify machine/firewall probes. Scanner requests are filtered out, displaying only true human engagement.
How do I check sending domain reputation and DNS health for outbound campaigns?Under ✉️ Campaigns → Sender Mailboxes & Warm-up, click 🛡️ Deliverability & DNS on any sender mailbox. The CRM performs an instantaneous live audit testing SPF (syntax, lookups, and pass qualifier), DKIM (active 1024/2048-bit key verification across standard selectors), DMARC (policy and alignment), MX records, and live reputation across B2B domain blacklists (Spamhaus DBL, SURBL, URIBL).
Page refreshed or browser back/forward usedThe CRM automatically preserves your exact active deal, lead, contact, company, or section, and reloads its latest content live from the server.