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.