{
  "name": "How Reply Works — capability matrix",
  "description": "What Reply can and cannot do, per capability. Fetch the md URL for the full page. Statuses: placeholder = unverified scaffolding, reviewed = human-edited but not fact-checked, verified = confirmed against the product.",
  "url": "https://how.reply.io",
  "capabilities": [
    {
      "id": "prospect-search",
      "title": "Prospect search",
      "url": "https://how.reply.io/capabilities/prospect-search",
      "md": "https://how.reply.io/capabilities/prospect-search.md",
      "status": "reviewed",
      "question": "Can Reply find prospects that match an ICP?",
      "answer": "Yes. Reply's Live Data search finds contacts from LinkedIn using filters for title, department, industry, location, keywords, and company lists, or by pasting a Sales Navigator search URL. Saving contacts uses Reply credits, skips people already in your account, and lands results in a list, a sequence, or both while the search runs.",
      "can_do": [
        "Search live LinkedIn-based B2B data by job title, department, industry, location, keywords, and company criteria, with exclusion options for account lists, industries, locations, keywords, job titles, and departments",
        "Convert a pasted LinkedIn Sales Navigator search URL into matching Reply filters — unsupported filters are skipped with a notice while the rest still apply",
        "Restrict a search to specific companies by selecting an uploaded account list of company domains",
        "Preview 5–7 matching contacts before launching, so no credits are spent on the wrong filter set",
        "Reveal emails, find phone numbers, or add LinkedIn-only contacts without email addresses, at 1–3 credits per contact depending on the data revealed",
        "Save results to a list, a sequence, both, or straight to the account, and track every search on the Search History tab with the status Running, Finished, No new contacts, or Paused",
        "Skip contacts already saved to your account, so a search does not create duplicates by default",
        "Run in Contacts-only mode to widen the pool when contacts do not need to be linked to a company",
        "Filter companies by whether they are currently recruiting on LinkedIn (Hiring on Social Media)",
        "Import up to 2,000 contacts per day per LinkedIn account from your own Sales Navigator searches or saved lists (Beta)"
      ],
      "cannot_do": [
        "Guarantee coverage of a specific person or company — a search can end with No new contacts",
        "Save contacts without Reply credits — every saved contact consumes 1–3 credits depending on the data revealed",
        "Convert every Sales Navigator filter — Changed Jobs, Posted on LinkedIn, Shared Experiences, and saved searches are skipped during URL conversion",
        "Run the LinkedIn search import (Beta) from a basic LinkedIn plan — it requires a connected Sales Navigator account",
        "Define your ICP for you — filters execute a definition; they do not invent one",
        "Guarantee a phone number for every contact — with phone finding on, contacts are still added when no valid number is found"
      ],
      "required_objects": [
        "credits"
      ],
      "side_effects": [
        "creates_contacts",
        "consumes_credits"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "coming-soon",
        "mcp": "partial",
        "cli": "not-verified"
      },
      "human_approval_recommended": false
    },
    {
      "id": "contact-management",
      "title": "Contact management",
      "url": "https://how.reply.io/capabilities/contact-management",
      "md": "https://how.reply.io/capabilities/contact-management.md",
      "status": "reviewed",
      "question": "Can Reply act as the contact database for outreach?",
      "answer": "Yes. Reply keeps one contact base with company accounts, editable stages, up to 50 custom fields including AI-generated ones, and lists a contact can join several of. Smart filters segment by engagement, data gaps, or custom fields; blacklisting stops all sending to a contact or domain; CSV export covers basic or all fields.",
      "can_do": [
        "Store contacts in a customizable grid with standard fields (name, email, company, title, location, phone, LinkedIn, timezone, owner, sequence, status) plus your own columns",
        "Support up to 50 custom fields per account — Text (up to 4,000 characters), Number, and AI custom fields that generate a value from a prompt using contact data",
        "Group contacts into company accounts with firmographic detail, account lists, account stages, and bulk actions (move to list, change owner, set stage, duplicate, export, delete)",
        "Organize contacts into lists — the same contact can sit in several lists, and contacts can be split across 2, 3, or 4 lists for testing",
        "Label contacts with editable stages such as Interested, Engaging, Not Interested, or Do Not Contact, separate from the statuses Reply assigns automatically",
        "Filter with one-click quick filters (All, My, Opened, Replied, Bounced, Opted Out, To Call, Clicked) and a smart-filter wizard covering sequences, dates, engagement counts, missing fields, location, creation source, validation status, inbox category, custom fields, and more — saved filters stay reusable from a drop-down",
        "Run bulk quick actions from the grid: validate emails, enrich, move to sequence or list, change status, set stage, change owner, log a meeting, blacklist, delete",
        "Blacklist individual contacts or whole domains — manually, from a selected contact, or via CSV upload — so they receive no emails even when enrolled in a sequence",
        "Export contacts to CSV with Basic Fields or All Fields (including engagement counts, stage, validation status, and custom fields), and export accounts to CSV",
        "Show each contact's full story on the contact card: activity log, current and past sequences, sent email threads you can reply from, and up to 4 statuses",
        "Recognize LinkedIn URL variants of the same profile as one person, so URL formatting differences do not create duplicates"
      ],
      "cannot_do": [
        "Put one contact into more than one company account at a time",
        "Create new contact stages — the built-in stages can be renamed, recolored, and redescribed, but not added to",
        "Exceed 50 custom fields without contacting support, or store text in a Number field",
        "Change a custom field from Text to Number once any contact has a value in it",
        "Blacklist-import more than 10,000 domain rows per CSV file",
        "Delete custom fields in bulk — they are removed one at a time",
        "Provide CRM objects such as deals, quotes, or forecasting"
      ],
      "required_objects": [
        "contact"
      ],
      "side_effects": [
        "creates_contacts",
        "updates_contacts",
        "updates_lists"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "live"
      },
      "human_approval_recommended": false
    },
    {
      "id": "data-enrichment",
      "title": "Data enrichment",
      "url": "https://how.reply.io/capabilities/data-enrichment",
      "md": "https://how.reply.io/capabilities/data-enrichment.md",
      "status": "reviewed",
      "question": "Can Reply enrich contacts with missing emails and phone numbers?",
      "answer": "Yes. Reply finds missing LinkedIn URLs (1 credit), emails (2 credits), and phone numbers (3 credits) for existing contacts, refreshes profile and company fields from LinkedIn, and fills AI custom fields from prompts. Email validation classifies addresses as Valid, Risky, or Invalid before sending — Invalid contacts never receive sequence emails.",
      "can_do": [
        "Find a contact's missing LinkedIn URL (1 credit), email address (2 credits), or phone number (3 credits) — individually, in bulk from the People page, or during CSV import",
        "Try to fill job title and company name alongside a found LinkedIn URL, with a choice to keep existing data or override it with newer information",
        "Auto-enrich missing LinkedIn URLs for contacts in LinkedIn sequences — on by default, toggled in settings",
        "Collect extra data at no credit charge while executing LinkedIn steps that view a profile — filling empty email and phone fields and recording badges such as Open to Work, Hiring, Creator mode, and Top Voice",
        "Refresh contact data from a known LinkedIn URL (where available): update title, company, industry, location, and company size, and create or relink the matching company account automatically",
        "Enrich AI custom fields in bulk or per contact, with per-field result statuses (Enriched, Missing variables, No results found, Failed) and a CSV summary in the notification center",
        "Validate email addresses on demand or automatically whenever contacts are added to a sequence, classifying each as Valid, Risky, or Invalid",
        "Gate sequence branches on validation results — for example, send only when validation returned Valid"
      ],
      "cannot_do": [
        "Overwrite an existing email or phone number during background LinkedIn-step enrichment — only empty fields are filled (system-generated placeholder emails are the one exception)",
        "Save an email that already belongs to another contact — it is skipped to avoid duplicates",
        "Guarantee a result for every contact — coverage depends on what the data sources hold",
        "Enrich without Reply credits, or validate without email validation credits — they are separate balances",
        "Send sequence emails to a contact whose address validated as Invalid — this applies via the API too",
        "Find an email without the contact's full name and company name"
      ],
      "required_objects": [
        "contact",
        "credits"
      ],
      "side_effects": [
        "updates_contacts",
        "consumes_credits"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "coming-soon",
        "mcp": "partial",
        "cli": "not-verified"
      },
      "human_approval_recommended": false
    },
    {
      "id": "email-outreach",
      "title": "Email outreach",
      "url": "https://how.reply.io/capabilities/email-outreach",
      "md": "https://how.reply.io/capabilities/email-outreach.md",
      "status": "reviewed",
      "question": "Can Reply send automated email outreach at scale?",
      "answer": "Yes. Reply executes multi-step email sequences from connected mailboxes with A/B variants per step, personalization variables, spintax, optional open and click tracking, and threaded follow-ups. Sending respects schedules, per-account daily caps (400 on paid plans), delays between sends, and reply handling that stops or continues follow-ups per your setting.",
      "can_do": [
        "Send sequences from one or several connected email accounts, with optional matching of contacts to sending accounts by email provider",
        "Add A/B variants to any email step — clone, edit, pause, resume, or remove variants, and compare their statistics in the sequence Stats tab",
        "Personalize with contact, team, custom, and advanced variables, including conditional logic and fallback values for missing data",
        "Rotate wording with spintax — a Random variable picks one of your listed options per message sent",
        "Send follow-ups in the same thread by leaving the follow-up subject line empty",
        "Enforce sending discipline: max emails per day (up to 10,000), delay between sends, max daily emails per contact, and a same-domain daily cap that excludes common free domains",
        "Throttle new contact starts with Max new daily contacts — contacts wait in a Throttled state and enter Step 1 at your chosen daily rate, in add-full-amount or add-until-capacity mode",
        "Handle replies per sequence: mark the contact finished or continue the remaining follow-ups",
        "Offer three unsubscribe mechanisms: an opt-out text or link appended per email account, a custom opt-out link placed inside any step, and a List-Unsubscribe header toggle per sequence",
        "Send in plain-text mode (default for new sequences) — all HTML, tracking, and images removed while attachments still send",
        "Track opens and clicks when enabled (both are off by default), and send test emails from any step editor before launch"
      ],
      "cannot_do": [
        "Exceed the per-account daily cap — 400 emails per day on paid plans, 200 on trial — regardless of sequence settings",
        "Track opens or clicks while plain-text sending mode is on, or thread follow-ups when the Step 1 subject contains symbols or prefixes like \"Re:\"",
        "Stop a contact when they answer a direct email — only replies to sequence emails set Finished; direct replies set Replied without stopping the sequence",
        "Place variables inside a spintax block — variable chaining within Random is not supported",
        "Apply opt-out links to test emails — they lack sequence and contact context",
        "Guarantee the List-Unsubscribe header is shown — visibility depends on the recipient's email provider"
      ],
      "required_objects": [
        "contact",
        "sequence",
        "email_account"
      ],
      "side_effects": [
        "schedules_messages",
        "sends_messages",
        "updates_contact_statuses",
        "updates_statistics"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "live"
      },
      "human_approval_recommended": true
    },
    {
      "id": "linkedin-outreach",
      "title": "LinkedIn outreach",
      "url": "https://how.reply.io/capabilities/linkedin-outreach",
      "md": "https://how.reply.io/capabilities/linkedin-outreach.md",
      "status": "reviewed",
      "question": "Can Reply automate LinkedIn outreach?",
      "answer": "Yes. Reply runs LinkedIn as a sequence channel with nine automatic action types — connection requests, messages, InMail, voice and AI voice messages, profile views, post likes, endorsements, and follows. Per-account safety limits default to 25–35 actions per day (35–50 for messages), capped at 100, and acceptance is detected across all connected accounts.",
      "can_do": [
        "Automate nine LinkedIn step types: Message, Connect, InMail, View Profile, Like Recent Posts, Endorse Skills, Follow Profile, Voice Message, and AI Voice Message",
        "Enforce per-account safety limits — dynamic daily ranges (default 25–35 for most actions, 35–50 for messages) or a static cap (default 30), adjustable up to 100 per action type",
        "Skip steps intelligently: Connect is skipped for existing connections, Message for non-connections, InMail for contacts whose privacy settings forbid it — the contact moves to the next step",
        "Track connection request statuses (Unchecked, Pending, Connected, Not Connected, Connection forbidden, Invalid URL, Revoked) and detect acceptance across all LinkedIn accounts connected to the team",
        "Send InMail with a subject and body to contacts outside your network via a Sales Navigator subscription, with optional automatic skipping when InMail credits run out, and branch the sequence on InMail status (Accepted, Rejected, Set, Not Set)",
        "Send 60-second voice messages — uploaded or recorded — and AI voice messages generated from text in a cloned voice profile, with per-account default voices and a team pronunciation dictionary",
        "A/B test any automatic step with a text body or recording — variants are distributed evenly, with a per-variant breakdown in sequence stats",
        "Personalize every step with variables and templates; messages support links, pictures, and one attachment up to 3 MB",
        "Preview every automatic step before launch — the Preview tab renders messages, connection requests, and InMails with variables applied, highlights missing variable values in red, and warns when a message exceeds the character limit after personalization",
        "Detect the character limit from the connected account's LinkedIn subscription — 300 characters on paid plans such as Sales Navigator and Premium, 200 on free plans — and edit the previewed text in place, including InMail subject lines",
        "Detect LinkedIn replies to automatic steps, both text and voice, normally within 1–5 minutes, set the contact to Replied, and surface the thread in the Inbox under the LinkedIn channel",
        "Insert expressive audio tags into an AI voice script with Enhance with AI, then Keep or Undo the result",
        "Send one-off direct LinkedIn actions (Connection Request, InMail, Message, Voice Message, AI Voice Message) from a contact card without enrolling the contact in a sequence",
        "Connect LinkedIn accounts three ways — session cookie via the Findy extension, credentials, or a shareable invite link for accounts you do not have direct access to",
        "Convert Sales Navigator lead links to public profile links automatically when a step runs"
      ],
      "cannot_do": [
        "Send automatic messages to contacts who are not 1st-degree connections — include a Connect step first",
        "Send InMail from Free, Premium, or Recruiter subscriptions — only Sales Navigator is supported, and LinkedIn InMail credits must be available",
        "Exceed 100 actions per day per action type, or apply a limit change same-day — new limits start the next day",
        "Resend a revoked connection request to the same person for up to 3 weeks",
        "A/B test manual LinkedIn tasks — variants apply to automatic steps only",
        "Guarantee full automation on non-English LinkedIn interfaces — set the LinkedIn site language to English",
        "Attach files to connection requests, InMail, or voice messages — the attachment button in LinkedIn Preview appears only on automatic Message steps",
        "Voice a URL naturally in an AI voice message — links do not sound natural read aloud and break the flow, so keep them out of the script"
      ],
      "required_objects": [
        "contact",
        "sequence",
        "linkedin_account"
      ],
      "side_effects": [
        "executes_linkedin_actions",
        "creates_tasks",
        "updates_statistics"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": true
    },
    {
      "id": "multichannel-outreach",
      "title": "Multichannel outreach",
      "url": "https://how.reply.io/capabilities/multichannel-outreach",
      "md": "https://how.reply.io/capabilities/multichannel-outreach.md",
      "status": "reviewed",
      "question": "Can Reply run outreach across email, LinkedIn, calls, SMS, and WhatsApp in one sequence?",
      "answer": "Yes. One Reply sequence can hold email, LinkedIn, call, SMS, WhatsApp, task, and Zapier steps with Yes/No condition branches. Calls run through built-in Cloud Calls with recording and resolutions; SMS sends automatically or as tasks; WhatsApp is semi-automated. The Channel Efficiency dashboard compares touches, replies, and meetings per channel.",
      "can_do": [
        "Mix automatic and manual steps for email, LinkedIn, calls, SMS, and WhatsApp in one sequence, in any order",
        "Create call tasks and place calls in-platform via Cloud Calls — record calls, take notes in the call widget, and log resolutions (default or custom)",
        "Trigger a call automatically once a contact opens your email a set number of times (4–7 opens recommended), and optionally pause a contact after a successful call",
        "Send automatic template-based SMS or create manual SMS tasks, with replies synced to the contact activity log and a dedicated SMS Inbox for threads",
        "Run WhatsApp as semi-automated tasks — the contact moves to the next step once the task is sent or completed",
        "Generate manual LinkedIn tasks (Message, Connect, InMail, View Profile) that the Reply Chrome extension completes automatically as you act on LinkedIn",
        "Add to-do and meeting Task steps with manual or automatic completion modes",
        "Trigger external automations with a Zapier step — continue immediately or hold the contact until Zapier signals to move on",
        "Branch sequences with condition steps on dozens of criteria: email presence and validation status, LinkedIn URL and connection status, InMail status, phone number and type, opens, clicks, views, ICP score, inbox category, company data, custom fields, CRM source, and more",
        "Compare channels in the Channel Efficiency dashboard — prospects contacted, touches, replies, and meetings booked across automatic and manual email, calls, LinkedIn, SMS, and WhatsApp, with breakdowns by channel, team member, and sequence"
      ],
      "cannot_do": [
        "Fully automate WhatsApp — WhatsApp steps are semi-automated tasks completed by a person",
        "Send automatic SMS to a contact with no phone number — in manual task-handling mode the contact stops on the step; in automatic mode they skip forward",
        "Fit more than 160 characters in a single SMS — longer texts are split into multiple messages",
        "Add more than one Zapier step per sequence",
        "Check LinkedIn connection or InMail status conditions with less than a 2-hour step delay — the system needs that time to detect the status",
        "Place calls without the Cloud Calls feature enabled, a funded wallet, and a rented number"
      ],
      "required_objects": [
        "contact",
        "sequence",
        "email_account",
        "linkedin_account"
      ],
      "side_effects": [
        "sends_messages",
        "executes_linkedin_actions",
        "creates_tasks",
        "updates_statistics"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": true
    },
    {
      "id": "calls-and-sms",
      "title": "Calls and SMS",
      "url": "https://how.reply.io/capabilities/calls-and-sms",
      "md": "https://how.reply.io/capabilities/calls-and-sms.md",
      "status": "reviewed",
      "question": "How do calls and SMS work in Reply?",
      "answer": "Reply makes and receives calls through rented Cloud Calls numbers and sends SMS as automated or manual sequence steps. It records calls with consent handling, logs call resolutions, transfers inbound calls to your real phone, triggers calls on email opens, validates phone numbers before automated SMS, and collects SMS replies in a dedicated inbox.",
      "can_do": [
        "Call contacts from the contact sidebar on the People page, the People tab inside a sequence, the Chrome extension, or the dialer, with in-call notes and mute; notes save to the contact's activity automatically",
        "Rent up to 10 phone numbers from different areas, set one as default, and share all of them with the whole team; when a contact's area code matches a rented number, the call uses that number, otherwise the default",
        "Route callbacks to the right person — when a contact returns a call, Reply matches the user ID from the original call",
        "Record calls with team-level controls: who can listen (team owner or everyone), who can turn recording on (always record or everyone), and a Consent recording option that records both sides in one-party consent states but only the Reply user's side in two-party consent states",
        "Log every call with a resolution — the defaults Positive, Negative, and To Call, plus custom resolutions mapped to a default value and shared across the team; Positive and Negative set the contact status Called, To Call sets To Call",
        "Transfer inbound calls from a rented number to your real phone, and report inbound missed calls on the Reports Calls tab with dispositions (Answered, Busy, Logged Manually, Failed, No Answer) and an in-report call-back action",
        "Trigger an automatic call after a contact opens an email a set number of times (minimum 3, recommended 4–7); Reply connects with you first, announces the sequence and contact name, and lets you accept or decline — calls fire only within the sequence schedule",
        "Pause a contact's automated emails after a successful call longer than 6 seconds with the Pause on successful call setting",
        "Run Call steps as tasks with manual or automatic handling — manual holds the contact until you finish the task; automatic moves the contact on after the step delay",
        "Send automated SMS from a template step, or generate manual SMS tasks completed from the Chrome extension",
        "Validate phone numbers by lookup before every automated SMS — only valid, mobile-type numbers receive automated SMS; each number is validated once, stored, and revalidated when edited",
        "Collect SMS conversations in the SMS Inbox with threads, Notification Center alerts, and activity-log sync, and surface contacts waiting for a call with the Calls quick filter and resolution-based smart filters"
      ],
      "cannot_do": [
        "Place calls from your own phone line — all calls go through rented numbers; Custom Caller ID can display your real number instead, for US and Canadian numbers only",
        "Show the prospect's phone number on an inbound call when inbound transfer is enabled",
        "Answer inbound calls with a live operator — without transfer, inbound calls log as missed with the No Answer disposition",
        "Send automated SMS to landline or invalid numbers — the contact stops with the Missing data status instead",
        "Validate Canadian phone numbers — Canadian law prevents lookup access, so delivery to Canadian numbers is not guaranteed",
        "Keep texting unregistered US numbers — since August 31, 2023, US carriers block A2P SMS from unregistered senders at increasing rates up to a complete block",
        "Insert SMS opt-out language automatically — you add opt-out wording to the message text yourself",
        "Edit or delete the default call resolutions — only custom resolutions can be changed",
        "Rent a number or place a call on an empty wallet — a minimum wallet balance is required"
      ],
      "required_objects": [
        "contact",
        "sequence",
        "phone_number"
      ],
      "side_effects": [
        "places_outbound_calls",
        "sends_sms_messages",
        "charges_wallet"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": false
    },
    {
      "id": "reply-management",
      "title": "Reply management",
      "url": "https://how.reply.io/capabilities/reply-management",
      "md": "https://how.reply.io/capabilities/reply-management.md",
      "status": "reviewed",
      "question": "Can Reply detect and handle replies automatically?",
      "answer": "Yes. Reply gathers replies into one Inbox shared across the team, where AI assigns one category per thread — Interested, Not interested, Do not contact, Not now, Forwarded, plus a Meeting intent subcategory. Out-of-office contacts pause and resume automatically, triggers act on categories, and Jason AI drafts or sends grounded responses.",
      "can_do": [
        "Consolidate reply threads from all sequences and team members into one Inbox, with unread counters, search, filters by sequence, sending email, category, time, and team member, and bulk read/unread and categorization actions",
        "Classify replies automatically by tone into inbox categories — Interested, Not interested, Do not contact, Not now, Forwarded — plus the Meeting intent subcategory; classification covers email, LinkedIn, and LinkedIn voice message replies",
        "Support custom categories and manual assign, reassign, or clear per thread or in bulk",
        "Assign the Out-of-office status automatically and resume those contacts after a set number of days (on by default), or let you resume them manually",
        "Fire triggers when a category is set — move the contact to another sequence or list, pause them, and other follow-on actions",
        "Generate AI replies with Jason AI: categorize, draft from the reply, prior conversation, and your context, then save as an AI Draft for review or send automatically — with a Mixed mode that routes each question type per its reply handler",
        "Define reply handlers per common question with delivery mode Auto, Draft, or Stop and notify, plus instructions, sample answer, tone of voice, response length, resource links, and media",
        "Book meetings on Meeting intent replies — check availability via a connected meeting tool or booking link, book the slot, or propose the next available time",
        "Let you edit, regenerate, re-instruct, re-tone, or translate an AI draft before sending, and rate drafts to improve future output",
        "Speed up manual replies with canned responses inserted from the note icon, a \"/\" shortcut, or a keyboard shortcut"
      ],
      "cannot_do": [
        "Assign more than one category per thread — Meeting intent is the only subcategory that stacks with a category",
        "Read the return date in an out-of-office email — the automatic resume uses one fixed day count for every contact",
        "Generate an AI response for threads categorized Do not contact",
        "Answer every message in a burst — when a prospect sends several replies, only the most recent gets a generated response, and a newer reply discards the previous draft",
        "Reply to a teammate's thread by default — replying on behalf of teammates is enabled by support on request",
        "Show SMS threads in the email Inbox — SMS replies live in the dedicated SMS inbox and the contact activity log"
      ],
      "required_objects": [
        "conversation",
        "contact",
        "sequence"
      ],
      "side_effects": [
        "updates_contact_statuses",
        "stops_outreach",
        "sends_replies_when_configured"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "live"
      },
      "human_approval_recommended": true
    },
    {
      "id": "campaign-analytics",
      "title": "Campaign analytics",
      "url": "https://how.reply.io/capabilities/campaign-analytics",
      "md": "https://how.reply.io/capabilities/campaign-analytics.md",
      "status": "reviewed",
      "question": "Can Reply report campaign performance per sequence, step, and channel?",
      "answer": "Yes. Reply reports delivery, open, reply, interested, meeting, opt-out, and bounce metrics per sequence with per-step and per-variant breakdowns, plus dashboards for emails, LinkedIn, calls, channel efficiency, team performance, and agencies. Trends compares periods, and stats export as contact-based or sequence-based CSV — also via the REST API.",
      "can_do": [
        "Report per-sequence key metrics — Total people, Contacted, Total accounts, Delivery rate, Open rate, Reply rate, Interested, Meetings booked, Opt-outs rate, Bounce rate, and Not reached (Out of Office + Bounced + Auto replied, with a hover breakdown)",
        "Break metrics down per step in Brief or Detailed view, per A/B variant via a toggle, and over time in a chart of deliveries, opens, replies, interested, and meetings booked (opt-outs and bounces revealed on demand)",
        "Count reply rate across channels — distinct contacts who replied by email, LinkedIn message or InMail, or a connection request with a note",
        "Filter dashboards by email account, domain, sequence (including direct emails outside sequences), owner, time range, and smart filters",
        "Track LinkedIn touches — connections, messages including voice and AI voice, InMails, profile views, likes, endorsements, follows — with acceptance and reply conversion rates for automated steps",
        "Analyze calls: totals and average connected duration, per-team-member tables, resolution and disposition pies, and an answered-calls heat map by weekday and hour",
        "Compare channels in the Channel Efficiency dashboard — touches, replies, and meetings booked across automatic and manual email, calls, LinkedIn, SMS, and WhatsApp",
        "Measure team performance: booked meetings, contacts sequenced, meeting conversion, auto and manual touches per contact, average response time, and reply sentiment per member",
        "Attribute booked meetings to their source channel (Email, SMS, Call, WhatsApp, LinkedIn) in Team Performance reports",
        "Serve agencies a dedicated dashboard with KPI charts and lists, user and team performance, email account and LinkedIn tabs, and task counts",
        "Compare periods with Trends — previous period by weekdays, by calendar, or a custom range — showing percentage change per metric, with reversed coloring for bounce, opt-out, and not-reached",
        "Export contact-based or sequence-based CSV reports, LinkedIn exports with job title and company, and call exports"
      ],
      "cannot_do": [
        "Count one contact several times in key metrics — they are prospect-level by design, so step-level sends do not inflate rates",
        "Track LinkedIn connection acceptance or reply rates for manual steps — those rates cover automated steps only",
        "Show meetings booked through channels other than email inside sequence-level reports — cross-channel meeting attribution lives in Team Performance",
        "Count a LinkedIn connection request without a note as \"contacted\" in reply rate",
        "Recalculate past periods when a deleted contact changes counters — some counters shift when contacts are deleted, and team-member deletion does not change team reports"
      ],
      "required_objects": [
        "sequence"
      ],
      "side_effects": "[]",
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "live"
      },
      "human_approval_recommended": false
    },
    {
      "id": "deliverability",
      "title": "Deliverability",
      "url": "https://how.reply.io/capabilities/deliverability",
      "md": "https://how.reply.io/capabilities/deliverability.md",
      "status": "reviewed",
      "question": "How does Reply protect email deliverability and sender reputation?",
      "answer": "Reply protects sending in layers: MailToaster warm-up with configurable profiles, ramp-up mode on by default for new email accounts (10 per day rising by 3 to 100), a weekly domain Health Checker for SPF, DKIM, DMARC, MX, and rDNS, Google Postmaster spam-rate monitoring, custom tracking domains, AI template scoring, and bounce thresholds that stop a step.",
      "can_do": [
        "Warm up email accounts through MailToaster — no separate account, single sign-on from Reply, one warm-up seat per connected mailbox, workspace-scoped for teams",
        "Apply warm-up profiles: New email account, Reputation protect, or a custom profile controlling what share of warm-up emails are opened, rescued from spam, replied to, or marked important",
        "Grow warm-up volume by a fixed daily increment or a randomized daily range, with optional cleanup of warm-up emails older than 3 days from the Sent folder",
        "Issue every warmed-up mailbox an Inbox filter — a unique ID on the account's Warm-Up page — that you paste into a Google Workspace filter or an Outlook rule so incoming peer-to-peer warm-up mail skips the inbox and files itself under a label or folder",
        "Ramp up real sending automatically — on by default for new email accounts, starting at 10 emails per day and adding 3 per day until 100, stopping with a notification when the account's total limit is reached",
        "Check domain health weekly on the Domain Setup tab — SPF, DKIM, DMARC, domain age, MX records, A records, and rDNS — with expandable errors and fix guidance",
        "Monitor Gmail spam-report rates by connecting Google Postmaster Tools to the Spam Monitor tab",
        "Replace Reply's default tracking domains with your own subdomains for opens, clicks, and opt-out links, matched to a sending domain, selected accounts, or all accounts",
        "Disable open tracking in bulk across every sequence with one account-level toggle, with per-sequence overrides",
        "Score email templates as you type on subject length, word count, question count, reading level, positivity, and spam-word count, with an overall response-likelihood recommendation",
        "Space sends with randomized delays (default 300–450 seconds between emails on new accounts) and stop a sending step when the bounce rate crosses 8%"
      ],
      "cannot_do": [
        "Guarantee inbox placement — a 10/10 deliverability score does not promise inbox delivery",
        "Edit DNS records for you — SPF, DKIM, DMARC, MX, and custom tracking CNAME/TXT records are set at your domain host",
        "Skip the calendar: a new domain still needs roughly 2–3 weeks of warm correspondence before cold outreach (1–2 weeks for a new mailbox on an established domain)",
        "Monitor spam rates without a Google Postmaster account connected for the domain",
        "Analyze template text beyond 1,000 characters in the quality check",
        "Warm up more mailboxes than your MailToaster seats allow — adding a mailbox with no free seat fails with a seat-count error"
      ],
      "required_objects": [
        "email_account"
      ],
      "side_effects": [
        "sends_warmup_traffic",
        "adjusts_sending_volume"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": false
    },
    {
      "id": "ai-sdr",
      "title": "AI SDR",
      "url": "https://how.reply.io/capabilities/ai-sdr",
      "md": "https://how.reply.io/capabilities/ai-sdr.md",
      "status": "reviewed",
      "question": "What can Jason AI do as an AI SDR?",
      "answer": "Given your website, Jason AI generates offers, a multichannel sequence, and per-contact personalized messages, sources contacts continuously — up to 500 per day per sequence, 3 per company, filtered by ICP fit — handles replies from a knowledge base, re-engages silent leads, and books meetings, in approval mode or full autopilot.",
      "can_do": [
        "Generate business context from a website URL, uploaded PDF or text files (up to 100 MB), or pasted text — company description, ICP, pain points, value propositions, proof points, case studies, and CTAs, all editable",
        "Auto-generate 5 offers per sequence creation — different angles on the same product by ICP and pain points — and update an offer in place or fork it per sequence",
        "Generate sequences shaped by a playbook (do's and don'ts, per-step instructions, subject-line rules, call scripts), in a chosen language, tone of voice, and message length",
        "Source contacts continuously via Autopilot — Sales-Navigator-style ICP filters or a pasted Sales Navigator URL — at up to 500 new contacts per day per sequence (default 10), 3 contacts per company",
        "Add contacts from buying-intent signals: job hiring, technology used, company or department growth, changed jobs in 90 days, LinkedIn post engagers (up to 50 likers plus 50 commenters per post), and competitor followers scanned daily — filtered by ICP fit (default 60%)",
        "Mix in AI web search, website-visitor tracking, and manual sources (CSV, existing contacts, LinkedIn search), tagging every contact with its source in the activity log",
        "Write a unique message per contact by rotating your pain points, value propositions, case studies, and CTAs and researching public data — recent news, the contact's LinkedIn activity from the past 3 months, the company page and website — with a template fallback when nothing is found",
        "Score every contact per sequence: an ICP score with hover explanations and a LinkedIn Activity score (Frequent, Consistent, Occasional), both usable as filters",
        "Run in approval mode — every generated message waits on the Pending approvals page where you edit, regenerate with a prompt, approve singly or in bulk, or delete — or in automatic mode with no review",
        "Handle replies from the knowledge base with per-question-type reply handlers (Auto, Draft, or Stop and notify) and re-engage silent leads with timed follow-up cards",
        "Learn your writing style from likes, dislikes, and edits (AI Learnings) — rules you can view, edit, enable, or add to",
        "Generate up to 15 ready-to-launch sequence ideas per AI Strategist run — each with its own audience, offer, playbook, and pre-filled Autopilot filters"
      ],
      "cannot_do": [
        "Know your business without inputs — offer, playbook, and knowledge base quality bound output quality",
        "Send a message in approval mode without human approval — and throughput is bounded by review speed",
        "Score contacts globally — ICP scores are computed per sequence and offer, so the same contact can score differently in different sequences",
        "Exceed source caps: 500 contacts per day per sequence, 3 per company, 500 per one-time intent search, 50 likers plus 50 commenters per post",
        "Generate AI replies for threads categorized Do not contact",
        "Replace your qualification bar — approval mode and ICP-score filters exist precisely for that"
      ],
      "required_objects": [
        "offer",
        "sequence"
      ],
      "side_effects": [
        "creates_sequences",
        "sources_contacts",
        "sends_messages",
        "sends_replies"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "partial",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": true
    },
    {
      "id": "ai-writing-assistant",
      "title": "AI writing assistant",
      "url": "https://how.reply.io/capabilities/ai-writing-assistant",
      "md": "https://how.reply.io/capabilities/ai-writing-assistant.md",
      "status": "reviewed",
      "question": "How does Jason AI help write and refine outreach copy in Reply?",
      "answer": "Jason AI writes and refines outreach copy inside Reply's editors: generate a whole sequence from one prompt with From magic, generate or improve any email step from a summary or bullets, adjust formality, tone, length, grammar, and language on selected text, and draft replies to prospects in the Inbox.",
      "can_do": [
        "Generate a full outreach sequence from a short prompt with From magic ✨ — the first email first, then the remaining steps built on that prompt and the approved email, including suggestions for which channels to use",
        "Fill and expose Business case detection and Subject fields alongside the generated body, both editable; the detected business case determines the category all later emails are built from",
        "Generate or improve the text of email steps in any sequence, not only sequences created from Magic",
        "Offer three generation routes on a first email — Write prompt in editor and improve text with GPT (expand, rewrite, translate, or generate a new template from scratch), Generate from a summary, and Generate from bullets",
        "Offer two routes on follow-up emails — Write prompt in editor and improve text with GPT and Generate follow-up based on thread, so the follow-up uses the context of the previous conversation",
        "Refine a prompt before sending it with the Improve prompt button — Formality level (Professional, Friendly, Neutral), Tone of Voice (confidence, persuasiveness, wit, straightforwardness, empathy, or custom), Translation, and Length Modification",
        "Refine generated text by highlighting a fragment and picking a command from the drop-down: Ask Jason AI (free-text instruction), Fix Grammar, Formality, Tone of Voice, Translate, and Change Length",
        "Accept prompts that specify writing style, tone of voice, and language — with a documented set of writing styles from Academic through Technical and tones from Authoritative through Warm",
        "Generate and edit text in a long list of languages, including English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese (Simplified), Japanese, Korean, Arabic, Hindi, Ukrainian, Polish, Turkish, and many more",
        "Regenerate text and step through the variations with the previous and next arrows in the Magic sequence, and re-generate a draft in the Inbox",
        "Draft replies to inbound messages — categorize the reply, generate a response from the message, the prior conversation, and the context you supply, then save it as an AI Draft or send it automatically",
        "Book meetings from replies categorized Meeting intent — check availability on a connected calendar or booking link, propose the next free slot if the first is taken, and compare availability when the contact sends their own link",
        "Refine an AI draft in the Inbox the same way as sequence copy: highlight text and apply a command, add extra instructions, rewrite in a different tone, or translate",
        "Research each prospect before writing, in AI SDR sequences, using up to three personalization points across company, prospect, and industry categories — or your own custom contact fields",
        "Surface the writing rules it has inferred from your likes, dislikes, and edits as editable AI Learnings"
      ],
      "cannot_do": [
        "Pick your audience — contacts are added separately in the People step of the wizard, by search, CSV import, existing lists, or manual creation",
        "Generate a reply for a thread categorized Do not contact",
        "Keep an earlier draft when a new inbound reply arrives — the previous draft is discarded and a new one is generated from the latest message",
        "Answer more than the most recent message when a prospect sends several replies in a row",
        "Preserve your text when you start a new prompt without highlighting anything — the previous text is replaced entirely by the newly generated text",
        "Guarantee equal quality in every language — proficiency varies by language, context, and task",
        "Launch a sequence with missing mandatory data — the Launch step marks incomplete items in red and blocks the launch until they are green",
        "Combine contact-field personalization with most research options — selecting Contact Fields Personalization locks every other research option except Default Research",
        "Update or delete an AI Learning you wrote or edited yourself"
      ],
      "required_objects": [
        "sequence"
      ],
      "side_effects": [
        "generates_sequences",
        "generates_message_copy",
        "drafts_replies",
        "sends_replies",
        "books_meetings"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "not-verified",
        "mcp": "not-verified",
        "cli": "not-verified"
      },
      "human_approval_recommended": true
    },
    {
      "id": "ai-assistant",
      "title": "AI chat assistant",
      "url": "https://how.reply.io/capabilities/ai-assistant",
      "md": "https://how.reply.io/capabilities/ai-assistant.md",
      "status": "reviewed",
      "question": "What can Reply's AI chat assistant do?",
      "answer": "Reply's AI chat assistant turns plain-English requests into real actions in your account — creating contacts, starting or pausing sequences, replying from the inbox, changing settings. It runs in Reply's new interface and in Slack, confirms destructive and bulk actions before running them, logs every change to the Activity Log, and can escalate to support.",
      "can_do": [
        "Take instructions in plain English and resolve names, not identifiers — say \"pause Cold Outreach Q2\" and it looks up the sequence by name, asking you to disambiguate when names collide",
        "Create and update contacts, change their status, inbox category, or owner, blacklist them, and filter or search your database — see Filter contacts",
        "Search sequences, read sequence statistics, compare performance across sequences, start or pause a sequence, add a step, add contacts, and assign email accounts, LinkedIn accounts, or schedules — see Edit a running sequence",
        "Read the inbox and send a reply to a conversation",
        "List email and LinkedIn accounts and reconnect ones that dropped",
        "List schedules, list your tasks, and create or complete a task",
        "Read and change settings across the workspace — sequence settings, email-account safety, signature and opt-out settings, warm-up state, LinkedIn safety limits, notifications, calls, meetings, blacklist domains, schedules, custom fields, enrichment, and integration sync control — see Configure account settings",
        "List, inspect, enable, disable, and delete triggers, and create or update them within a curated set of actions, conditions, and events; anything outside that set is refused with the allowed values named rather than guessed, and a newly created trigger starts switched off unless you ask otherwise",
        "Operate AI SDR objects for workspaces with that entitlement — knowledge bases, playbooks, and offers; switching a sequence between approval and automatic reply mode; and working the pending-approvals queue (approve, edit and approve, regenerate from feedback, reject, or clear the queue)",
        "Answer product how-to questions from the bundled Reply help center, citing the source article as an inline link, and return step-by-step instructions rather than a definition plus a link",
        "Search the public web for questions outside your account — benchmarks, public company information, news about a contact or company — and append a deduplicated Sources footer",
        "Ask a clarifying question when a request is ambiguous instead of acting on a guess",
        "Tell you when a change to a knowledge base, playbook, or offer will affect sequences that are already running",
        "Hand the conversation to Reply support with a written summary when it cannot resolve the issue itself",
        "Run in Slack with the same capabilities as the web panel — direct message the app, or @mention it in a channel it has been invited to"
      ],
      "cannot_do": [
        "Run in the legacy interface — there is no chat panel and no entry point there — or in the mobile app",
        "Reveal or regenerate an API key",
        "Create or delete contact stages or account stages — the taxonomy is a fixed set of eight, so stages can only be renamed, recolored, or re-described",
        "Report whether the Chrome extension is connected for a given user — that state is not stored per user",
        "Change a workspace name or locale, or toggle individual beta features — neither concept exists in the product",
        "Edit per-step integration field mappings, filters, actions, or advanced sync settings — those stay on the Integrations page; the assistant only reports whether each part is configured",
        "Handle credentials when connecting an integration — it returns the connect link and you finish the authorization yourself",
        "Charge you off-session: connecting warm-up returns a payment-required result rather than completing a purchase",
        "Invent an answer when no help article matches — it says so plainly and points you to the right place in the app instead of falling back to web search for product behavior",
        "Expose implementation details, internal names, source code, or ticket numbers, even if a help article happens to mention them",
        "Message you first in Slack — the assistant only responds to messages you send it, and there are no slash commands",
        "Connect more than one Slack workspace to a Reply account, or act for a Slack user who has not linked their own Reply account"
      ],
      "required_objects": [
        "workspace"
      ],
      "side_effects": [
        "executes_account_actions",
        "creates_and_updates_contacts",
        "starts_and_pauses_sequences",
        "sends_inbox_replies",
        "writes_settings",
        "writes_activity_log_entries",
        "escalates_to_support"
      ],
      "interfaces": {
        "product_ui": "partial",
        "api": "not-verified",
        "mcp": "partial",
        "cli": "not-verified"
      },
      "human_approval_recommended": true
    },
    {
      "id": "meetings",
      "title": "Meetings",
      "url": "https://how.reply.io/capabilities/meetings",
      "md": "https://how.reply.io/capabilities/meetings.md",
      "status": "reviewed",
      "question": "How does meeting booking work in Reply?",
      "answer": "Reply books meetings through a personalized public calendar link backed by Google Calendar, with Google Meet or Zoom as the location, or through a connected Calendly account. Booking sets the contact to Meeting Booked and finishes the sequence, Jason AI can book from reply conversations, and reports track meetings per channel.",
      "can_do": [
        "Generate a public, personalized meeting link from your Google Calendar availability — set the time zone, meeting title, description, and duration at connection",
        "Insert the link into sequence emails with the Book meeting link button; meeting links are personalized and tracked for clicks",
        "Offer Google Meet or Zoom as the meeting location — Zoom connects with a free or Pro account authorized through the Zoom Marketplace",
        "Shape availability with day-and-hour windows, buffer time between appointments, earliest and latest booking cutoffs, and an optional toggle that excludes US holidays",
        "Confirm by email to both sides after booking and send a reminder 15 minutes before the call",
        "Connect one Calendly account and insert Calendly event links — My events and other users' personal events are supported",
        "Set the contact to Meeting Booked and Finished when a booking event arrives, stopping further sequence steps; on cancellation, remove the status and record the cancellation on the contact's activity",
        "Create a new contact when an unknown person books through Calendly (with Calendly as the creation source, filterable on the People page) — when the create-if-missing option is enabled",
        "Book from conversations with AI reply handling: a proposed time is booked and invited directly, multiple proposed times resolve to the first available slot, and a yes-without-a-time gets slot suggestions from Jason AI; reschedules are rebooked against your calendar",
        "Send follow-ups when a meeting is booked or canceled, manually or automatically",
        "Report booked meetings by source channel — Email, SMS, Call, WhatsApp, LinkedIn — in the Team performance report, with filters and export",
        "Log a meeting booked outside any sequence manually from the contact profile, with a No sequence option",
        "Create a task in Reply when a prospect books a Zoom call"
      ],
      "cannot_do": [
        "Run Google Calendar and Calendly booking at the same time — one meeting booking source per account",
        "Connect more than one Calendly account",
        "Use Calendly team or shared events — only My events and other users' personal events",
        "Work with a free Calendly plan — a paid plan or active trial is required",
        "Show non-email bookings on the sequence-level Reports page — that view counts only meetings booked within emails; use Team performance for all channels",
        "Skip US holidays by default — holiday exclusion is off until you enable it"
      ],
      "required_objects": [
        "contact",
        "calendar_account"
      ],
      "side_effects": [
        "books_calendar_events",
        "changes_contact_status",
        "creates_contacts"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "not-verified",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": false
    },
    {
      "id": "integrations",
      "title": "CRM and integrations",
      "url": "https://how.reply.io/capabilities/integrations",
      "md": "https://how.reply.io/capabilities/integrations.md",
      "status": "reviewed",
      "question": "What can Reply integrate with and how does CRM sync work?",
      "answer": "Reply syncs contacts, statuses, and activities two-way with Salesforce, HubSpot, Pipedrive, and Copper on a 2–3 hour cycle with field mappings and filters, connects to thousands of apps through Zapier, Make, and n8n, exposes an MCP server so AI agents can operate the account, and emits real-time webhooks for outreach events.",
      "can_do": [
        "Sync Salesforce two-way with Default (preset) or Custom profiles — contacts, leads, people statuses, inbox categories, emails, tasks, calls, notes, and LinkedIn activities mapping to Salesforce tasks and notes",
        "Install the Reply managed package in a Salesforce Org so reps work from Salesforce: a quick action on the Lead or Contact page layout sends people to Reply, and a separate tab on the record shows their Reply sequence context; each Salesforce user is linked to their own Reply API key through a custom metadata record",
        "Sync HubSpot two-way, including Reply emails as HubSpot logged emails, plus BCC-based logging (your HubSpot BCC address) and a Chrome-extension import path",
        "Push Reply calls, tasks, emails, and LinkedIn activities into HubSpot as contact tasks and logged emails on predefined field mappings — call outcome, notes, recording link and duration land in the HubSpot call description; sequence name and step travel with emails; voice-message files attach to the LinkedIn task record",
        "Sync Pipedrive people every 2 hours over API, with instant webhook-driven triggers — email sent, opened, replied, link clicked, Interested or Negative inbox category, task completed, call logged, note added — firing Pipedrive actions such as recording activity, creating a deal in a pipeline, or moving a deal a stage forward",
        "Log manually created Reply tasks in Pipedrive with the Task created trigger, choosing how each one is recorded: activity for the person, activity for the deal, a new deal in a chosen pipeline, a deal moved to the next stage, or a deal moved to a specific stage",
        "Sync Pipedrive people in either direction with ownership mappings that create new records under the mapped owner and update ownership on existing ones, and a People to sequence block that pairs each Reply owner with a sequence and step",
        "Pull Copper leads and people into Reply, picking one primary email in Work → Personal → Other order",
        "Work from inside Copper CRM with the embedded Reply app: after installing it from Copper's Integrations page and logging into Reply, a Reply tab on any contact or lead adds that person to an existing sequence and shows which sequences they are already in",
        "Map fields per sync step (first name, last name, and email are required; leads also map Company to Account), including a CRM company-name field to Reply Account so account records are created and contacts assigned automatically",
        "Filter what syncs — default filters (Opened, Replied, Bounced, Opted out, To call, Clicked) or saved People-page filters as outbound filters",
        "Route synced contacts to owners with ownership mappings (Team Edition) and into a sequence at a chosen step, with Ignore step delay and Only for new records options",
        "Start Zaps from Reply events — sends, opens, replies, opt-outs, bounces, link clicks, inbox categories, a finished prospect, contact changes, and a Zapier step reached mid-sequence — and let Zapier act back on Reply by creating or updating people, pushing them to a sequence, or changing their state in one, with custom variables mapped onto default fields",
        "Automate through Make modules and the n8n node, which covers account-health, email, LinkedIn, and sequence events plus contact and sequence actions",
        "Push real-time webhooks for email, LinkedIn, call, and sequence events — with personal or team scope, optional payload fields, test deliveries, and delivery logs, managed in Settings or over the API",
        "Serve AI agents over MCP: the endpoint and API key come from the Integrations page, authentication is a bearer API key or OAuth, and agents work with contacts, sequences, inbox, tasks, analytics, and Jason AI configuration at the permission scopes the key grants",
        "Track website visitors with a header script — matching by email, normalized LinkedIn URL, then name plus company — creating or updating contacts and adding new ones to lists or sequences",
        "Ingest leads from Clay (create contact, push to sequence) and from RB2B via webhook with automatic field mapping",
        "Embed Vidyard videos in sequence steps — the step editor's Add Video control signs you in to Vidyard, you pick a video from your list and share it, and the video appears in the email body",
        "Lock organization sign-in to Okta or Microsoft Entra SSO, with automatic user provisioning on first sign-in"
      ],
      "cannot_do": [
        "Sync multi-select picklist fields with Salesforce, HubSpot, or Pipedrive",
        "Update a converted Salesforce lead — the sync logs an error instead",
        "Sync more than one lead status into HubSpot — the result depends on status mapping order",
        "Sync LinkedIn activities to Pipedrive",
        "Sync emails sent to a contact's secondary addresses into HubSpot — only the primary email address is covered",
        "Sync manual LinkedIn tasks, LinkedIn messages sent outside a sequence, or prospects' LinkedIn replies into HubSpot — only automatic LinkedIn steps performed after the integration was enabled are synced",
        "Log automatically generated tasks in Pipedrive through the Task created trigger — it covers manually created tasks only",
        "Sync a Pipedrive person to a Reply owner that is missing from the ownership mappings — those people are neither synced nor added to the sequence chosen for that owner",
        "Fire CRM triggers for contacts that are not already in both systems, or for events that happened before the trigger was enabled",
        "Push existing contacts to lists or sequences from Website Visitors — only newly created contacts are added",
        "Delete a tracked website in Reply before the script is removed from the site",
        "Let an MCP agent act on behalf of a team or organization — only a personal API key or OAuth as yourself works, and OAuth grants full permissions without scoping",
        "Undo an SSO tenant lock self-service — Microsoft Entra tenant lock is permanent by design, and with Okta or Entra active, SSO is the only way to log in"
      ],
      "required_objects": [
        "contact",
        "sequence"
      ],
      "side_effects": [
        "syncs_crm_records",
        "creates_contacts",
        "pushes_contacts_to_sequences",
        "sends_webhook_events"
      ],
      "interfaces": {
        "product_ui": "live",
        "api": "live",
        "mcp": "live",
        "cli": "not-verified"
      },
      "human_approval_recommended": false
    },
    {
      "id": "chrome-extension",
      "title": "Chrome extension",
      "url": "https://how.reply.io/capabilities/chrome-extension",
      "md": "https://how.reply.io/capabilities/chrome-extension.md",
      "status": "reviewed",
      "question": "What can the Reply Chrome extension do?",
      "answer": "Reply's Chrome extension works on LinkedIn, LinkedIn Recruiter, Gmail, and Salesforce, HubSpot, or Copper pages. It reveals contact emails, flags valid and invalid ones, saves people into Reply lists and sequences, and executes sequence tasks — manual email, LinkedIn, call, SMS, WhatsApp — from the browser, syncing every action back to your account.",
      "can_do": [
        "Reveal contact details for LinkedIn People search results as you scroll, then move one contact, a selection, or ALL contacts on the page into a Reply list or sequence",
        "Run a single search from one LinkedIn profile, saving the company record too when Accounts (company records) are enabled in Reply",
        "Save contacts that have no email address when the Save without email setting is on — Reply generates a placeholder address so they can still enter LinkedIn sequences",
        "Filter revealed contacts by valid or invalid email before pushing them into a sequence",
        "Search LinkedIn Recruiter in bulk or per profile with Find emails, and enrich contacts that already exist in Reply instead of duplicating them",
        "Attach new LinkedIn contacts to accounts automatically from the company information LinkedIn provides, matching on either account domain or account name through the *Assign new contacts to the existing accounts based on* setting",
        "Show Account, Account Industry, and Account: Company size on the contact profile, and reassign the contact to any existing account from the Account drop-down",
        "Browse the People tab — every contact in your Reply account — and act on one: Move to a list or sequence, Send Email, Send WhatsApp Message (when a phone number exists), Change Status, or Blacklist and unblacklist",
        "Move a contact to a sequence from the Contact Details screen, choosing the sequence *and* the step it starts at, with a confirmation toast",
        "List every task in the account — sequence-generated and standalone — on the Tasks tab, filtered by interval, sequence, and task type, then Launch all tasks to open them one by one",
        "Create a task of type To Do, Email, Call, LinkedIn, Meeting, Message, WhatsApp, Manual Email, or SMS, with a start and due date, an attached contact, a sending email address for emails, and a template for the body",
        "Snooze a task for 24 hours, clone it, edit it, or delete it — individually from the three-dot menu, or in bulk with the All tasks checkbox",
        "Execute tasks selected and launched from the Reply Tasks page — the extension opens directly in execution mode",
        "Place Cloud Calls from the Dialer, the contact's profile, or a call task, choosing which number to dial from when the account has more than one, taking notes with the pencil icon mid-call, muting the microphone, and ending the conversation from the call module",
        "Set a call resolution from the three defaults — Positive, Negative, To Call — or from custom resolutions, and finish with Complete, Log the call, Log the call and follow up, or Log, complete and follow up",
        "Log calls that happened outside the extension, on another system or a physical phone: filter the Tasks tab to Call tasks, open the task, add a note, and pick Log a call from the Complete button's dropdown",
        "Create a follow-up task (Call, To do, LinkedIn, or Meeting) straight from the call log, including for call tasks generated by a sequence",
        "Hold a live SMS conversation from a contact's Messages tab — type and send, insert a template from the Templates icon, and watch inbound replies arrive in real time",
        "Edit and send manual SMS from an SMS task with Send and Complete, then move automatically to the next task",
        "Edit a WhatsApp message, hand it to WhatsApp Web or WhatsApp Desktop, and send it there",
        "Keep the history in reach — the Messages tab holds the full SMS thread, the Activity tab summarizes calls and SMS on the contact, and the same records appear in the Reply web application",
        "Insert Reply templates into the Gmail composer, save Gmail text back to the Reply template library, and add the recipient to a sequence without opening Reply",
        "Sync individual contacts and contact lists from Salesforce (classic and Lightning), HubSpot, and Copper CRM — automatically when you open a contact page or list, or on demand with Find emails or the CRM Sync button",
        "Create a Reply contact from a CRM record that is new, or enrich an existing contact with fresher CRM data",
        "Sign in either with Reply account credentials or with the API key from Settings → API key"
      ],
      "cannot_do": [
        "Guarantee behavior outside Google Chrome — the extension is designed and optimized for Chrome",
        "Update itself — when the extension window reports a new version, you remove the current extension and install it again",
        "Put contacts saved with an autogenerated placeholder email into sequences that contain email steps",
        "Edit Account Industry or Account: Company size — account information is edited in the Reply web application on the People → Accounts page",
        "Prevent duplicate accounts when the assignment toggle is off — new contacts then keep creating new accounts under the same company name",
        "Track replies to WhatsApp messages — those are read in your WhatsApp account, not in Reply",
        "Send a WhatsApp message when you choose Complete instead of Send WhatsApp — the contact still moves to the next step",
        "Send an SMS to a contact who opted out or whose phone number is incorrect — the attempt errors out until the number or status is fixed",
        "Call without Cloud Calls enabled in the Reply web application, and without a valid phone number on the contact",
        "Show or execute tasks assigned to other team members — team owners see everyone's tasks on the Reply Tasks page, but the extension shows only tasks assigned to you",
        "Execute already-completed tasks selected for launch — they are skipped and never appear on the extension's Tasks dashboard",
        "Sync the Salesforce City field, or the Salesforce Recently Viewed Contacts (Leads) list",
        "Sync custom fields when syncing a CRM contact *list* — custom fields carry over on individual contact sync only",
        "Sync a HubSpot custom field unless a Reply custom field with the same name exists, or a HubSpot list without the email column enabled in the list view",
        "Sync CRM fields that are not displayed in the CRM interface — Salesforce and Copper fields must be visible on the record for the extension to read them"
      ],
      "required_objects": [
        "contact",
        "task"
      ],
      "side_effects": [
        "creates_contacts",
        "enriches_contacts",
        "assigns_contacts_to_accounts",
        "pushes_contacts_to_sequences",
        "completes_tasks",
        "sends_manual_messages",
        "places_calls"
      ],
      "interfaces": {
        "product_ui": "live",
        "browser_extension": "live",
        "api": "not-applicable",
        "mcp": "not-applicable",
        "cli": "not-verified"
      },
      "human_approval_recommended": true
    }
  ]
}
