Skip to main content

Features

Every feature CallHQ ships, what it does, and how it actually works — the same list rendered on callhq.co's feature index.

Sourcing

Google Maps niche scraping

Finds every business in a niche + city combination.

How: A self-hosted Botasaurus scraper drives real browser sessions, with a fallback scraper if Maps blocks it.

Multi-source coverage

Pulls from OpenStreetMap, Companies House and Shopify too, not just Maps.

How: Each source has its own connector that normalizes results into the same lead shape before they reach your table.

Scheduled source runs

Reruns a niche × city combination on a cadence without you remembering to.

How: A cron-scheduled job re-queues the same scrape parameters and dedupes the results in.

Automatic dedupe

A re-run never hands you the same business twice.

How: Incoming rows are matched against the warehouse by name, address and phone before insert.

Enrichment

Provider waterfall

Tries the cheapest email finder first and stops at the first hit.

How: A cost-accounted chain of providers runs in order; a hit short-circuits every provider after it.

Tags each business as sole trader, limited company, etc.

How: Cross-references Companies House and site content — PECR treats a sole trader's inbox like a consumer's.

Full-site crawl

Reads the business's own website, not just a directory listing.

How: A crawler indexes the site so AI research columns have real text to ground answers in.

Phone intelligence

Knows which numbers can legally receive an SMS before you send one.

How: A Telnyx line-type lookup classifies mobile vs. landline vs. VoIP ahead of the SMS-consent gate.

Incremental re-enrichment

Keeps stale records fresh without re-running the whole pipeline.

How: A sweep re-checks only the fields that have passed their freshness window.

AI research columns

Grounded research columns

Answers a plain-English question per row — e.g. "does this business already run ads?"

How: The prompt runs against the crawled site content, not the model's imagination; answers cite what was actually found.

CallHQ Agents

Turns a natural-language instruction into a saved, reusable column.

How: The instruction compiles once into a reusable research spec any lead in the table can re-run.

The grid

Clay-style data table

Sort, filter, saved views and inline edit on every lead.

How: A virtualized table renders 10k+ rows smoothly; edits post straight through the row's own server action.

Per-cell provenance

Shows exactly which provider or run produced a value.

How: Every enrichment write carries its source, surfaced in Data Hub on hover.

Data Hub fill-rates

Shows which fields are actually populated across your whole list, not one row.

How: A field-by-field completeness report reads the same warehouse the grid does.

Companies rollup

Rolls many leads at one business up into a single account view with a score.

How: Leads are grouped by resolved company identity and their signals aggregate into an account score.

Scoring & routing

Deterministic scoring

An A–D grade from firmographic and engagement rules you can audit.

How: A rules engine reads the same enriched fields the grid shows — no black box.

AI qualitative scoring

A second, judgment-based score from unstructured signals.

How: An AI pass reads the crawl and research columns and reasons about fit, distinct from the rules score.

Routing pools

Sends a lead to the right rep or queue automatically once scored.

How: A routing rule matches score and attributes to a pool and assigns on write.

Signals & Flows

Trigger rules

"When X happens, do Y" — without a human watching for it.

How: Signals like lead.enriched, reply.received or meeting.booked fire a flow that can enrich, score, route, enroll or notify.

Flow automation layer

Chains multiple actions off one trigger.

How: A flow definition is a small ordered list of actions the signal engine executes in sequence.

Cadences

Multi-step, multi-channel sequences

Email, SMS and LinkedIn steps in one sequence.

How: Each step carries its own channel, template and wait, executed by the outbox.

Send windows

Never sends outside business hours in the lead's timezone.

How: A send-window check runs before the channel-specific guard() gates.

Engagement auto-exit

Stops emailing someone who already replied or booked.

How: A reply or booking event flips the enrollment state so the next scheduled step never fires.

A/B variants

Tests two versions of a step without a manual split.

How: Enrollment randomly assigns a variant; analytics report conversion by variant.

Campaign caps + batching

Won't blow through a day's send limit in one burst.

How: The outbox throttles against the plan's daily send cap and batches the rest for tomorrow.

Unified inbox

Every channel, one thread

An email reply and an SMS reply from the same lead show up together.

How: Replies from each channel webhook into the same conversation record, keyed by lead.

AI reply classification + drafts

Tells you if a reply is interested, not-interested, or out-of-office — and drafts a response.

How: A classifier reads the reply text; a draft generator proposes a response you can edit before sending.

One-click guarded send

Sending the draft still can't bypass compliance.

How: The send button calls the identical guard() chain a cadence step calls.

Power dialer

Browser WebRTC dialer

Call straight from the browser — no desk phone.

How: Telnyx WebRTC handles the call leg; no PBX hardware required.

Priority queue

Dials your best leads first.

How: The queue orders by the same score the grid shows.

AI call notes + summaries

A note and a summary appear the moment you hang up.

How: The call recording and transcript feed a summarization pass tied to the lead record.

Dispositions + follow-ups

Logging an outcome can trigger the next step automatically.

How: A disposition write can enroll the lead in a follow-up SMS or email step.

Booking

Self-serve booking pages

A lead books a slot without a back-and-forth email.

How: A public booking page reads real availability and writes an appointment on confirm.

Meeting router

Sends the booking to the right calendar or rep.

How: A router rule matches the lead or account to an owner before the slot confirms.

Automated reminders

Fewer no-shows, with no human sending reminders.

How: A scheduled job sends reminder messages ahead of the appointment time.

Compliance firewall

Ten fail-closed gates

Every send is checked before it fires — not after.

How: guard() runs suppression, consent, jurisdiction and channel checks in a fixed order; first deny wins, and an unevaluable gate denies too.

Consent isn't a checkbox a caller can assert — it's a record.

How: A ledger is authoritative over any caller-supplied boolean; a gate reads consent from it, never from the request.

TPS/CTPS + US DNC screening

UK and US do-not-call registries are screened before every call.

How: Jurisdiction resolves first, then the matching registry is checked, with a 28-day re-screen cadence.

PECR sole-trader email block

A UK sole trader's email is treated like a consumer's, not a business's.

How: Legal-form resolution feeds the PECR gate, which blocks cold email to a resolved sole trader.

Every outbound email carries identity, address and a working opt-out.

How: The footer gate blocks a send missing required fields; unsubscribe writes straight to the suppression store.

SMS never goes to a landline, never goes out cold, and US SMS carries registration.

How: Line-type, consent and 10DLC are three separate gates in the SMS chain — any one can deny alone.

No AI cold calls — ever

An AI voice never opens a cold call.

How: The ai-voiced-call gate is an unconditional, lead-independent deny — it runs before suppression even looks the lead up.

DSAR erasure + retention sweeps

A data-subject request can actually erase someone.

How: An erasure job walks every table holding that person's data; a retention sweep ages out what's past policy.

Content engine

AI content studio with approval tiers

Drafts content and lets you pick how much oversight each piece needs.

How: Auto, veto and human tiers gate publish differently per content type.

Content calendar

Schedules what publishes when, across channels.

How: A calendar view reads the same content pieces the studio creates.

Faceless video rendering (bring your own account)

Turns a script into a captioned video with voiceover.

How: A script → voiceover + captions → mp4 render pipeline runs the job end to end.

Multi-platform social scheduling (bring your own account)

One post, scheduled across platforms.

How: A Postiz/Blotato integration schedules the same content piece per platform (bring your own connected accounts).

pSEO factory

Keyword-cell pipeline

Turns a list of keywords into published pages.

How: Keyword cells feed an AI page generator behind a quality gate before anything publishes.

Minted subdomains per lead (bring your own account)

Each generated site gets its own live subdomain.

How: A subdomain is minted and DNS-wired per generated microsite (publish leg is founder-flag gated).

Analytics & attribution

Pipeline + revenue analytics

See the funnel and the money in the same place.

How: Pipeline funnel and revenue reports read off the same lead and deal records the grid uses.

Per-source attribution

Every payment traced to the search that found it.

How: Revenue rows carry the sourcing run's niche, city and source back to the original scrape.

Deliverability dashboard

Know if your emails are landing before a campaign tanks.

How: Bounce, complaint and spam-trap signals roll up per sending domain.

Cadence analytics

See which step or variant of a sequence actually converts.

How: Enrollment and reply events aggregate by cadence step and A/B variant.

Platform

REST API + MCP server

An agent — or your own script — can drive your table directly.

How: The same actions the UI calls are exposed as REST endpoints and MCP tools.

Outbound webhooks

Push your own events to another system.

How: A webhook subscription fires on the state changes you pick.

Chrome extension

Enrich or save a lead from any tab.

How: The extension talks to the same enrichment API the app uses.

CRM sync (Twenty) + CSV import

Move leads in and out without a migration project.

How: A sync connector and a CSV importer both write through the same lead-creation path.

Multi-tenant, per-tenant credentials

Separate teams, separate vendor keys.

How: Every tenant's vendor credentials and data are scoped by tenant id at every query.

RBAC teams + audit log

Control who can do what, and see who did it.

How: Role checks gate every action; every state change writes an audit log entry.

PWA + self-hosted stack

An installable app that runs entirely on your own infrastructure.

How: A web manifest and service worker make it installable — the whole stack deploys to infrastructure you control. Your data on your box, no per-credit lead tax.