ReviewMySite.appReviewMySite.app
FeaturesHow it worksPricing
SolutionsBlogChangelogCareersHelpDocs
Sign in
Help/Lead detail

Outreach

Lead detail

Per-lead actions on /leads/<id>. Status, generated emails, Plusvibe push and writeback, Unibox replies, and audit links.

Last updated 2026-05-29

In the app

  • Leads
  • PlusVibe
  • Emails

Who this is for

Operators who need to change a lead's pipeline status, generate or review outreach copy, sync a single contact with PlusVibe, or read and reply to messages in Unibox without leaving the dashboard.

When to use this screen

Open it from Leads by clicking View details on a row, or navigate directly to /leads/<id> (the lead UUID). Contextual help on that route points here.

Before you start

Start with PlusVibe setup: required fields and first sync for the integration prerequisites and how domain, audit_url, and the writeback fit together.

The following preconditions apply to the per-lead actions:

  • The lead must have a usable domain value for Start audit (domain).
  • PlusVibe push, writeback, and Unibox need Integrations configured with a valid API key and workspace. Campaigns must already exist for Push to PlusVibe.
  • PlusVibe Writeback only appears when the lead is linked to a PlusVibe campaign and has a linked audit run in the dashboard. Both are set after a push or sync followed by an audit start.

In the app

  1. In the sidebar under Outreach, choose Leads.
  2. Click View details for any lead, or use a bookmarked /leads/<id> URL.

Screen tour

Header. A Back button returns to the list. The title shows the lead's company name or domain. A status badge reflects the current value (underscores rendered as spaces, for example audit queued).

Company, Contact, and Audit cards. Domain, contact fields, Not audited or grade, optional top issue, and View audit when an audit run is linked (/audits/<auditRunId>).

Actions panel:

  • Status dropdown. A native <select> showing the stored enum with underscores replaced by spaces (for example audit_complete appears as audit complete). The Leads table uses friendlier badge labels for the same values; see the table at the end of this guide.
  • Generate Email. Creates a preview and refreshes the Outreach Emails list at the bottom of the page.
  • Start audit (domain). Kicks off an audit for the lead's domain. Blocked when the domain is missing or unknown.
  • PlusVibe Writeback. Only enabled when a PlusVibe campaign and an audit run are both present on the lead. Success and errors surface in the banner above the cards.

PlusVibe panel:

  • When the lead is not yet linked to a Plusvibe campaign but has a contact email: a Select campaign dropdown plus the Push to PlusVibe button. The push respects the readiness guard (see below).
  • When the lead's status is converted or replied and a campaign plus contact email exist: a Mark completed in PlusVibe action.
  • Remove from PlusVibe. Opens a confirm dialog. Requires the contact email.
  • PlusVibe enrichment. Read-only fields (for example Label, Reply sentiment, Last email subject) and a Raw webhook payload JSON view, shown when plusvibeLeadData is present on the row.

Unibox (email thread). Shown when the lead has a contact email. The Refresh icon reloads threads. The empty state reads "No Unibox messages for this lead." Selecting a row opens a reply composer; Read marks a thread read when the API supplies a mark-read body.

Reply composer (after selecting a row). Fields for Reply from (connected mailbox), Subject, Body (HTML allowed), and Send reply.

Audit Summary. An optional text block when the API returns auditSummary for the linked audit.

Outreach Emails (n). Lists generated messages with type and writebackStatus badges. Empty state: "No emails generated yet. Use the Generate Email button above."

Push to PlusVibe: the readiness guard

Pushing a single lead from the per-lead PlusVibe panel uses the same /api/plusvibe/leads/push endpoint as the bulk action on /leads. The endpoint refuses to enrol a lead before its writeback has populated the custom_* merge fields, because Plusvibe renders templates at send time and never retries a message that has already gone out with empty placeholders.

When the push succeeds, the dashboard pre-populates every custom_* merge field in the same HTTP call that enrols the lead. Plusvibe's send loop sees a fully-rendered lead the first time it ticks; there is no race window.

When the push is rejected, the dashboard surfaces the 409 inline with the reason. The most common cases:

  • Status is new, audit_queued, or no status. Run an audit on the lead first via Start audit (domain).
  • Status is audit_complete but the writeback never landed. Re-audit the lead. The new writeback fills the variables and the status atomically.
  • Status is in the ready set (email_generated, email_sent, opened, replied, retargeted, converted) but plusvibeLeadData.lastOutboundWriteback.variables is missing. Same remedy: re-audit.
  • Status is bounced. Re-audit or remove the lead.

See Leads, pipeline, and emails for the bulk equivalent of this behaviour, including the structured 409 response shape.

Writeback after audit completion

When an audit completes for a lead that is linked to a PlusVibe campaign, the dashboard fires a writeback automatically. The writeback pushes the audit-derived variables (18 keys for the slim profile) plus the body keys (email_subject, email_body, email_cta, or the indexed step versions when a campaign sequence is configured) and atomically sets the lead's status to email_generated and stores the payload at plusvibeLeadData.lastOutboundWriteback.variables.

Manual writeback. The PlusVibe Writeback button retries the push if the automatic dispatch was skipped (for example because the contact email was missing at audit time) or if you want to refresh the variables after a tone change. The button writes the same payload the auto-writeback would have written for the most recent completed audit.

For the full merge-field contract see PlusVibe setup: required fields and first sync.

Status values

Stored valueLeads table badgeDetail dropdown label
newNewnew
audit_queuedAudit Queuedaudit queued
audit_completeAuditedaudit complete
email_generatedEmail Readyemail generated
email_sentEmail Sentemail sent
bouncedBouncedbounced
openedOpenedopened
repliedRepliedreplied
retargetedRetargetedretargeted
convertedConvertedconverted

The list view may still show "Sent (legacy)" for the deprecated sent value; that value does not appear in the detail dropdown. Normalise the status from the Leads table or the API if you hit a legacy row.

Common pitfalls

  • Failed to load lead full-page error. The API returned an error for this UUID. Return to the Leads list and retry. If it persists, the lead may have been deleted in another tab.
  • Action banner stuck on screen. Click Dismiss to clear stale Generate Email, writeback, push, remove, Unibox, or audit-start messages. The server text in the banner usually contains a quota or validation detail.
  • PlusVibe Writeback button missing. The button hides when there is no campaign link or no linked audit. Push the lead to a campaign or run an audit first.
  • Unibox empty while email exists. PlusVibe may have no thread for this contact yet. Click Refresh after sending from your provider; threads appear once Plusvibe has indexed at least one inbound or outbound message for the address.
  • Push from this page returns 409. The lead has not finished its audit yet. Wait for the audit to complete; the writeback runs within roughly a second of completion and the status flips to email_generated.

Related

  • PlusVibe setup: required fields and first sync. Credentials, the readiness rules, and the full writeback contract.
  • Leads, pipeline, and emails. The list bulk actions and the Emails approval flow.
  • PlusVibe overview. Workspace-level Unibox, campaign tools, and the expand panel tabs.
  • Reading audit run results. Opens from View audit.

Questions? Email support@reviewmysite.app.

Back to Help Centre

Stay up to date

Get product updates, SEO tips, and audit insights delivered to your inbox.

ReviewMySite.appReviewMySite.app

AI-powered website auditing platform for SEO, performance, security, and UX analysis.

Product

  • Features
  • Solutions
  • Pricing
  • How it works

Company

  • About us
  • Blog
  • Changelog
  • Careers

Resources

  • API documentation
  • Chrome extension
  • Knowledge base
  • Status page

Support

  • Contact us
  • Help center
  • Sign in
  • Reset password
SSL Encrypted
GDPR Compliant
SOC 2 Type II
System status
© 2026 ReviewMySite.app. Made withfor the web.
Privacy PolicyTerms of ServiceCookie Policy