Every customer's full story — down to the closed deal.
No more scattered spreadsheets: one profile per customer with every conversation, field and activity — plus deals, products and payments in the same system.
A customer base that fits your business
Add custom fields, tag and group — and every profile tells you exactly who the customer is, where they came from and everything that has happened since.
- Custom fields of any type — usable in filters, forms, imports and automations
- Marketing fields on the contact itself — the page they arrived from and its title, the referrer, their browser and the affiliate who sent them — kept automatically in sync with their first touch from every channel; only the affiliate, browser and IP can be edited by hand
- Tags and groups for fast organizing and segmenting
- Lead score and lifecycle stage on every contact
- A full activity timeline: messages, campaigns, deals, payments, events and imports
- Filter and segment by what's linked to a contact — has deals, tasks or payments and more, or conditions on those linked records
- Bring the report columns into the Contacts list itself — related records such as sales, deals and tasks, a field one hop further away (Sales › Cycle › Name) and calculated counts and totals — then save the layout
- Workspace owners can merge custom fields of the same type, preview conflicts and choose the value to keep
- Mobile contact records with quick actions and touch-friendly editing; quick search also shows lifecycle stage
An owner on every contact — and everything they carry
Responsibility belongs to the person, not to a single conversation: give a contact an owner and their conversations, deals, tasks, quotes, inquiries and meetings travel with them.
- An Owner column and a My contacts view on the contacts list — plus an owner chip on every profile
- Hand a contact over and the dialog shows exactly what moves along: open deals and tasks, live quotes, open inquiries and upcoming meetings
- A contact nobody owns is claimed automatically — by whoever answers the first message, or shared out round-robin and by workload as new leads arrive
- A deal, task or quote created on a contact inherits their owner, so a new record is never left ownerless
- Set the owner in bulk, assign by team-member email during a CSV import, and carry it through exports, the API and contact webhooks
- Automations can assign a contact — to a named agent, round-robin, or whoever is least busy — and react the moment the owner changes
Every inquiry lands in a queue — with an owner and a clock
Someone who fills in a form shouldn't just become another row in your contact list. Every way a lead arrives — a form, a landing page, a popup, a Meta lead ad, a webhook, a booking, an API write, or the first WhatsApp message of a new conversation — opens an inquiry that somebody owns and answers.
- Intake procedures route each inquiry by ordered rules: what was submitted, who the contact is, where it came from, and whether it is business hours
- Send it to a named agent, or to a team — round-robin, or whoever is least busy right now
- Set a first-response target and the clock runs on your business hours: the owner is warned as it approaches, and a missed target escalates to the people you choose
- The Inquiries page shows the submitted content, where it came from, and that person's other open inquiries and who is holding them
- The queue works like an inbox: tabs for New, In progress, Needs attention and Closed with live counts, a switch between Everyone, Mine and Unassigned, a one-click Take on anything nobody owns, bulk triage, and a sort that puts the longest wait first
- Turn an inquiry into a deal without leaving it — open one with the contact and title already filled in, or link it to a deal that person already has open
- An Inquiries tab on the contact, a dashboard panel, a report dataset and CSV export — so the backlog is measurable, not anecdotal
- Automations gain an Inquiry trigger (created, assigned, resolved, target missed), the submitted fields as variables, and a Manage inquiry action
- Nothing is ever swallowed: when routing cannot work out where an inquiry belongs, it waits in the queue unassigned rather than disappearing
Import, manage and export at scale
A guided CSV import wizard walks you from field mapping to the final report — and bulk operations run safely in the background, even across thousands of contacts at once.
- A guided import wizard with field mapping and smart name completion
- Choose which identifiers an import matches on — phone, email, national ID — and in what priority order
- Live progress, cancel and retry — plus a downloadable row-by-row error report
- Bulk edit, delete and start-automation — with progress tracking on every job
- Export to Excel (xlsx) or CSV — contacts, deals and stage history, campaign recipients, product and cycle recipients, payments, tasks, calls, timesheets and event attendees
- Large exports run in the background — the file is ready to download when it finishes
- Exports respect permissions — every agent exports only what they are allowed to see
Duplicates prevented — and resolved without losing a thing
oToK stops duplicates before they are created — and when they already exist, gathers everything into a single resolution screen. Identity runs on three values, so a contact is matched by whichever one you actually have.
- National ID numbers are a full identifier beside phone and email — validated as you type against the rule for your workspace's country (a check-digit rule for Israel, a general rule everywhere else), unique per workspace, and usable in search, import matching, filters, automations and the API
- Shown masked to the last four digits everywhere a list shows many contacts at once — the full number stays visible on the contact's own record and on the merge and identity-resolution screens
- A duplicate warning as you type — before the contact is even saved; choose per workspace whether to warn or block
- Integrations, API and webhooks never create a duplicate quietly — every identity conflict is either resolved or raised for review
- Compatible matches — a phone that matches one contact and an email that matches another — merge automatically the moment they arrive, through the API, a webhook or an integration; anything uncertain or conflicting still waits for review
- Side-by-side, field-by-field merge — pick the right value for every field
- The resolver shows why contacts were grouped — a shared phone or email, even one shared only in the past — and each value's change history, so you keep the current one
- Identifiers that carry real history get flagged — so they're never discarded by mistake
- Changed your mind? Undo a merge for up to 24 hours
- Decide to keep contacts separate and it's remembered — the pair won't resurface
Complete missing details — automatically
A lead left just an email? Enrichment fills in the rest of the picture — through providers you already trust.
- Turn a bare email address into a fuller profile — company, role and contact details
- Bring your own Dropcontact or Hunter API key — enrichment runs through your own account, without metering
- Conflicting details are never overwritten silently — changes route through the same duplicate-review queue
Every phone call, on the record
Phone calls are where deals actually happen — and they finally leave a trace: logged on the customer, feeding automations and follow-ups.
- Log a call in seconds — outcome, notes and a follow-up task in one dialog
- A dedicated calls tab on every contact — the full call history: direction, outcome, duration, agent and notes
- A logged call can trigger an automation — send a summary, update a field, start a sequence
- Connect Extra Mobile and calls log themselves — with click-to-call and recording playback right inside oToK
- AI call summaries and next steps with GenieAI — when the service is active on your Extra account
Tasks, notes and follow-ups that don't slip
Every "I'll get back to you" becomes a task tied to the customer — and the system makes sure it resurfaces at the right moment.
- Tasks with due dates, linked to the customer — including follow-ups created straight from a phone call
- A daily agenda email — only on days something is actually due or overdue
- Notes on the customer record — context stays where the whole team finds it
- Tasks are a data source in the report builder — see what's open, done and overdue
Deals & sales pipelines
A drag-and-drop Kanban board that shows exactly where every deal stands — and any deal change can trigger an automation.
- Multiple pipelines side by side — sales, renewals, partnerships — each with its own stages
- Won/lost status separate from stage — with lost reasons plus funnel and velocity insights
- An owner on every deal — including permissions that show agents only their own deals
- Two-way deal sync with Salesforce — via the Integrations page
- Select up to 50 deals on the list to edit a shared field, assign or unassign an owner, archive, or permanently delete with a typed confirmation — permanent deletion stays owner-only
Products, payments & LTV
One product catalog serves both deals and payments — pick a product and the title and amount fill themselves. Alongside it, a payments ledger tracks what customers actually pay you — and with a connected Cardcom or Sumit account, you can charge customers directly from oToK.
- A product catalog with a default price and SKU — optional price adjustments configured independently for products and cycles
- A dedicated editor page for every product and cycle — unsaved-change protection, a return to the tab you came from, and your quote or deal draft kept when you create a product on the fly; classify a product as physical, digital or a service
- Cycles per product — cohorts, runs or versions, each with its own dates, price and seat count; sales, deals and events file under the right one, and a page per product shows sales, revenue, open deals, cycles and events together; a Cycles view lists every cycle across the whole catalog, a cycle's status follows its dates on its own, and rows can be edited in bulk or saved as a named view
- One-time payments, recurring charges with auto-generated cycles — and installment plans
- Revenue analytics: LTV, MRR/ARR and trends over time
- Record payments from automations and the API — and an incoming payment can trigger an automation
- Charge customers through your own payment provider — payment requests by email with automatic reminders, personal pay links, a hosted payment page and payer receipts
- Save a customer's card securely with your provider — one-click charges, and recurring automatic billing with smart retries when a charge fails
- A Documents view on the contact's Payments tab — invoices, receipts and tax documents in one place
One sale, every item and payment
See who bought what and how much remains to pay — in a sale that connects products, cycles, discounts, payments and refunds.
- Several items on one sale, with a price and quantity per item and a sale discount
- Allocate payments across sales or collect from several payers, with an up-to-date balance
- Quotes, orders, product forms and pay links connect to the sale record
- Purchase-based segments, status history, and cancelling or reinstating a sale with a reason
- Record sales and start follow-up through automations and the API
- Payment terms — a due date, an optional deposit milestone and an Overdue status with aging, on the sale, the Sales page, the dashboard and in reports
- Act on many sales at once — change owner, cancel or export — and import past sales from a CSV file, with a Possible duplicates filter
The buyer and the participant, each in the right place
Connect a product to its recipient, even when someone else paid or the product was a gift. Available on every plan.
- A separate recipient for each sale item, plus enrolments and gifts without a sale
- A Products tab on the recipient’s record and participant lists by product or cycle
- Cycle capacity follows active enrolments; refunds and product access are shown separately
- Set how long access lasts for a product or cycle — a date, a span, or the cycle's end — and expired access closes on its own
A menu that fits your work
Arrange the sidebar for a workspace, role, team or individual.
- Choose a shared layout or allow personal adjustments
- Drag your pinned shortcuts into your own order — or reorder with the keyboard alone; the order is saved per user
- Menu order and visibility do not change access permissions
Ready to upgrade your customer communication?
Get started with oToK — connecting a WhatsApp number takes minutes.
No credit card required — start right away