Onboarding — Missed Lead / Follow-up Gap Audit

This is the agency-facing usage guide for the Missed Lead / Follow-up Gap Audit utility ("the Service"). It is read together with the Privacy Policy, the Terms of Service, the Scope of Access, and the Support page.

1. Welcome

The Service is a read-only diagnostic audit utility for agencies that manage multiple client accounts inside a third-party CRM platform ("the platform").

What the Service does:

diagnostic patterns: unanswered inbound conversations, stale open opportunities, missed follow-ups after no-show / cancelled appointments, and inbound contacts without a booked appointment.

review them internally before deciding what to action.

What the Service does NOT do:

/ appointment / calendar mutation).

Who this is for: agencies managing roughly 5–50 client accounts inside the platform, with appointment- or follow-up-heavy operations (med spa, dental, fitness, home services, etc.).

2. Before you install

You need:

(bulk) install is what powers the multi-client audit. (A single client-account direct install is accepted as a limited single-account fallback, not the agency-wide path.)

major versions).

Please review the Privacy Policy and the Terms of Service before installing. By installing the Service you accept both documents.

3. Installing the Service

also start from the Service's /install page if you arrived from a direct link.

You authorize the 8 scopes listed in the Scope Justification §2 — 6 read-only CRM-data scopes plus 2 OAuth control-plane scopes (oauth.readonly, oauth.write). The Service is read-only for your CRM business data: no write access to your CRM data is requested, and no message-recording or transcription scope is requested. oauth.write is used only to mint per-location tokens (POST /oauth/locationToken); it never creates, updates, or deletes any CRM object.

A session cookie is set; OAuth tokens themselves stay encrypted on the server and never travel in the cookie.

If you only want to evaluate the Service before connecting a live account, ask the operator to enable mock mode for your tenant. Mock mode runs the full install flow against a built-in fixture and lets you walk through the entire UI without authorizing your CRM workspace.

4. Running your first scan

What is available today: the in-app dashboard runs a sample audit on illustrative data so you can preview exactly what the audit produces. A connected account audit across the client accounts you select is not yet available in-app — before it is enabled, Doptar must clear the remaining owner-controlled technical gates. The steps below describe the audit flow; run them today as a sample audit.

audit. (Connected account selection applies once connected audits are enabled; today the dashboard previews the flow on sample data.)

data. When connected audits open, the same flow runs across the accounts you selected.

partial failure on one account does not stop the others. A sample audit completes in seconds; once connected audits are enabled, a connected scan is expected to take well under a minute per selected account. The verification target is time-to-value under 10 minutes from install through first-finding-seen.

draft summary appear on the scan detail page.

5. Understanding findings

The Service runs four rule-based detectors. Severity buckets are configurable; the default thresholds are listed below.

DetectorWhat it surfacesSeverity thresholds (default)
Unanswered InboundInbound conversations whose last inbound contact has had no outbound reply within the threshold.high ≥ 24 h · medium ≥ 8 h · low ≥ 2 h
Stale OpportunityOpen opportunities whose status / stage / update timestamp has not moved within the threshold.high ≥ 14 days · medium ≥ 7 days · low ≥ 3 days
No-show Follow-up GapAppointments ending in no_show or cancelled with no outbound follow-up within the threshold after the event ended.high ≥ 24 h · medium ≥ 8 h · low ≥ 2 h
Booking GapInbound contacts within the lookback window with no appointment booked yet.high ≥ 14 days · medium ≥ 7 days · low ≥ 3 days

Each finding carries:

metadata path emit 0.9; detectors that fall back to a metadata inference path emit 0.7.

(e.g. inbound_no_reply, age_over_24h, opportunity_stale, via_primary / via_fallback, via_summary_anchor).

message bodies, no contact identifiers, no PII.

The dashboard renders entity identifiers as 8-character SHA-256 prefixes; the full hash is available behind a <details> toggle on the finding-detail page for cross-referencing.

6. Reviewing & giving feedback

follow up on.

comment is yours and is the only place in the system where free-text you typed yourself is persisted; please do not paste PII into it.

Aggregate measurements available on the scan detail page:

rate on Booking Gap findings crosses 30 % across at least 10 rated findings.

false-positive rate on severity = high crosses 20 % across at least 10 rated findings.

The Service uses these signals to decide whether to defer or refine detectors. Your feedback directly drives that decision.

7. Exporting findings (CSV)

Excel, Numbers, LibreOffice, and Google Sheets open it without prompting.

scan_run_id, agency_id, location_id_hash, finding_id, finding_type, severity, confidence, entity_type, entity_id_hash, status, first_detected_at, last_seen_at, reason_codes, feedback_value, feedback_at, feedback_comment.

What is not included: the raw evidence_metadata JSON column, any client-side PII, and any payload from the connected platform. The CSV is intended as a flat tabular input to your own client-report drafts.

A combined per-agency CSV export is also available, with date-range and detector / severity filters.

8. AI summary

page.

aggregate counts, severity distributions, masked identifiers, and neutral metadata only. No message bodies, no contact details are ever sent to the AI.

prompt is built. A post-check pass redacts any upstream-vendor brand token from the response and flags revenue-extrapolation phrasing in the warnings list.

Regenerate button to bypass the cache and produce a fresh draft.

produced so you can validate the UI flow without incurring upstream cost.

The AI draft is an assistive helper, not a classifier. It never decides whether a finding is legitimate; it summarizes what the rule-based detectors already produced. You edit the draft before relying on it.

9. Billing

Payment is not enabled yet. Paid plans are not open during the current phase; the prices below are exploratory and subject to validation, and the flow below is the intended model — not a charge you can make today.

month per agency, planned to be billed via a Stripe Payment Link.

USD 49 / mo · Growth USD 99 / mo · Scale USD 199 / mo.

Intended payment flow (once payment opens):

the operator has configured a Stripe Payment Link.

see card data; the payment provider holds the payment instrument record.

session against your agency record using the opaque client_reference_id carried on the Payment Link URL, and toggles your payment_status to paid.

Refunds: see Terms of Service §4.

10. Disconnecting

platform on your behalf.

Privacy Policy §9). OAuth tokens stay encrypted at rest until the operator rotates the encryption key on request.

The agency record is reactivated (the uninstalled_at timestamp is reset to NULL) and a new installation row is written.

If your install is removed from the platform's marketplace side, the Service also receives an AppUninstall lifecycle event and performs the same soft uninstall automatically.

11. Troubleshooting

SymptomWhat to try
Install flow fails or the callback shows install_failedOpen /install and retry. If the state expired in transit, a fresh PKCE token is issued automatically.
Install flow shows unknown_install_contextThe platform returned an install shape the Service doesn't recognize (neither an agency bulk install nor a single client-account install). Sign in as the agency owner and reinstall to get the agency-level (multi-client) install.
No findings appear after a scanConfirm you selected at least one client account and that the account has had recent inbound conversations, open opportunities, or appointments inside the lookback windows.
Too many findings flagged as false positivesMark them as Not an issue. If the false-positive rate crosses 30 % on Booking Gap (with at least 10 rated findings), the dashboard surfaces the defer trigger so the operator can review thresholds.
token expired or any 401 from the platformDisconnect and reinstall; refresh tokens are rotated on every successful refresh, and a reinstall fully reseats them.
AI summary failed to generateClick Regenerate to force a fresh draft. If the second attempt still fails, contact support — the rule-based findings list is unaffected.
CSV download produces a file with garbled charactersConfirm your spreadsheet recognizes UTF-8 with BOM. Excel ≥ 365 opens the file directly; older Excel versions may need an explicit UTF-8 import wizard.

12. Getting help

sent here (inbound verified). Replies from this address and the published response window are still being finalized.

beta cohort)

still being finalized.

Related reading:

rationale (6 read-only CRM-data scopes + 2 OAuth control-plane scopes) used for the marketplace submission.

most-asked questions about the audit surface, data handling, pricing, and support.