# Chrome extension

> The Reply Chrome extension finds emails on LinkedIn, LinkedIn Recruiter, Gmail, and CRM pages, pushes contacts into Reply lists and sequences, and executes call, SMS, WhatsApp, LinkedIn, and manual email tasks from the browser.

**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.**

_Status: Reviewed — human-edited, facts not yet confirmed against the product._

## At a glance

| | |
| --- | --- |
| **What it does** | Reveals contact details on LinkedIn, LinkedIn Recruiter, Gmail, and CRM pages; saves people to Reply lists, sequences, and account records; creates, filters, and executes tasks — call, SMS, WhatsApp, LinkedIn, manual email, meeting, to-do; holds live SMS conversations; adds Template and Add to sequence buttons to the Gmail composer |
| **Required objects** | A Reply account signed in from the extension; contacts, and the lists, sequences, or tasks they land in |
| **Surfaces** | Chrome extension, paired with the Reply UI — the Tasks page **Launch** action opens selected tasks in the extension in execution mode |
| **Key limit** | Designed and optimized for Google Chrome; other browsers are not guaranteed, and updating means removing and reinstalling the extension |
| **Stops on** | A red banner or an error: an SMS cannot go to an opted-out contact or an invalid phone number, and the task stays open until the issue is resolved |
| **Does not** | Track WhatsApp replies; edit account industry or company size; sync the Salesforce City field or the Recently Viewed Contacts (Leads) list; sync custom fields when syncing a CRM contact *list*; show tasks assigned to other team members; put placeholder-email contacts into sequences with email steps |
| **Plans** | Cloud Calls must be enabled in the Reply web application before calling; SMS requires a registered A2P messaging campaign; task visibility follows Team Edition rules |

## Summary

The extension is a browser-side surface over the same Reply account you use in the web
application. It does two jobs. First, **acquisition**: on a LinkedIn profile, a LinkedIn
Recruiter search, a Gmail thread, or a CRM contact page, it identifies the person, looks up
an email address, and saves them as a [contact](/specifications/contacts) — into a
[list](/specifications/lists), into a [sequence](/specifications/sequences) at a chosen
step, or both, attaching the company record along the way. Second, **execution**: it is
where manual sequence work actually happens — call, SMS, WhatsApp, LinkedIn, and manual
email [tasks](/specifications/tasks) are opened, edited, sent, logged, and completed there,
which moves the contact to the next step. A contact's own record adds direct actions
outside any task: dial them, hold an SMS conversation, or read the activity history.

Reply's documentation names the extension several ways — *Findy: Email Search and
Outreach*, *Reply: LinkedIn Email Finder and Outreach*, and simply *Reply Chrome
Extension* — all pointing at the same Chrome Web Store listing. Article screenshots and
menu names are the part most likely to have drifted; the behavior below is stable.

### Where it works

| Surface | What the extension adds |
| --- | --- |
| LinkedIn feed and search results | Reveals details for profiles as you scroll a People search; individual or bulk **Move to** into a list or sequence, including **ALL** contacts on the page |
| LinkedIn profile page | Single search — the extension gathers the profile automatically; **Reveal details** then **Move to** |
| LinkedIn Recruiter | **Find emails** starts a bulk search across the result set, or an individual search from one profile; results save to a sequence or list |
| Gmail inbox and New Message | Hovering a contact opens **Create contact** with Email, First name, and Last name prepopulated, or **Edit contact** if the person already exists |
| Gmail composer | **Template** inserts or saves Reply templates; **Add to sequence** enrolls the recipient |
| Salesforce, HubSpot, Copper pages | Reads the contact or list on screen and creates or enriches the matching Reply contact |

Page-specific search is enabled by default. On a LinkedIn page it prepopulates First name,
Last name, Title, Company, City, Country, and LinkedIn URL; in Gmail it prepopulates Email,
First name, and Last name.

## Problems it solves

- Prospecting inside LinkedIn without leaving the tab — find the person, get the email, and enroll them in one pass
- Bulk sourcing from LinkedIn Recruiter, which has no native export into an outreach tool
- Manual sequence steps stalling because there is nowhere convenient to execute them — the extension is the execution surface for call, SMS, WhatsApp, and manual email tasks
- Re-typing prospects that already exist in Salesforce, HubSpot, or Copper into Reply
- Duplicate company records piling up as new people arrive from LinkedIn one profile at a time
- Losing the next touch after a call — logging a call and creating the follow-up task happen in the same dialog
- Calls placed on a physical phone or another system never reaching Reply's reporting

## What Reply 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**

## What Reply 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 inputs

Google Chrome with the extension installed from the Chrome Web Store, and a signed-in Reply
account — credentials, or the API key copied from the **Your API Key** field under
**Settings → API key**. For CRM sync, an open session in Salesforce, HubSpot, or Copper with
the relevant fields displayed on the record or list view. For calls, Cloud Calls enabled in
the Reply web application and a valid phone number on the contact. For SMS, a registered
A2P messaging campaign, a valid number, and a contact who has not opted out. For WhatsApp,
an active WhatsApp Web or Desktop session. Account matching needs its identifier — account
domain or account name — chosen in the extension settings *before* you start searching.

## Produced outputs

Contacts created or enriched in Reply, assigned to account records when Accounts are
enabled; contacts added to lists and to sequences at a chosen step; completed tasks that
advance the contact to the next sequence step; logged calls with resolutions and notes,
including calls placed elsewhere; follow-up tasks; sent SMS with a stored conversation
thread; WhatsApp messages opened in WhatsApp with the text prepared; templates saved to
the Reply library from Gmail. Everything the extension does lands in the same Reply account
you would see in the web application.

## Use Reply when

- Prospecting happens on LinkedIn or LinkedIn Recruiter and you want people in a sequence the same minute you find them — see [Build a prospect list](/workflows/build-a-prospect-list)
- A sequence mixes automated and manual steps and someone has to work the task queue — see [Run multichannel outreach](/workflows/run-multichannel-outreach)
- Manual email steps are part of the design: they can only be sent from the extension
- Reps are on the phone all day and want dialing, notes, resolutions, and follow-ups in one panel — see [Calls and SMS](/capabilities/calls-and-sms)
- Your team lives in Gmail and wants Reply templates and sequence enrollment in the composer
- Reps browse CRM records all day and should be able to push them into outreach from that page

## Do not use Reply when

- You need a server-side, unattended path — the extension is a human-driven browser surface; use the [REST API](https://docs.reply.io/api-reference/introduction) or scheduled CRM sync for automation, described in [CRM and integrations](/capabilities/integrations)
- You need scheduled two-way CRM synchronization — the extension syncs the record in front of you, the native integrations sync on a cycle; see [Sync Reply with a CRM](/workflows/sync-reply-with-a-crm)
- You are sourcing prospects in volume from filters rather than from pages you visit — see [Prospect search](/capabilities/prospect-search)
- Your team standardizes on a browser other than Chrome

## What you still need to build

- The routing decision — which revealed contact goes to which list versus straight into a sequence, and at which step; enrollment rules still apply, see [Contact enrollment](/behavior/contact-enrollment)
- A duplicate policy for records pulled from both LinkedIn and a CRM, and the account identifier that keeps company records from splitting — see [Contact deduplication](/behavior/contact-deduplication) and [Companies](/specifications/companies)
- Task hygiene: who works which queue, how overdue tasks are cleared, and what happens to the contact when a task is deleted
- The WhatsApp reply loop, since Reply does not read WhatsApp responses

```yaml
capability: chrome-extension
supported: true
interfaces:
  product_ui: live
  browser_extension: live
  api: not-applicable
  mcp: not-applicable
  cli: not-verified
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
human_approval_recommended: true
```

## Limits

- Browser: Google Chrome; other browsers are not supported or guaranteed
- Updates are manual — remove the installed extension and install it again
- Default due date for a task created in the extension: within **30 minutes** of creation
- Snooze duration: **24 hours**
- Task filters combine with AND logic across interval, sequence, and task type — a task must match every filter set to appear
- Filter defaults: the default interval, all task types, all sequences; applied filters persist after closing and reopening the extension until the cache is cleared
- Interval filter options: Overdue tasks (default), today, today and forward, this week, last week, this month, last month
- Task type filter options: all tasks (default), to do, call, meeting, SMS, WhatsApp, LinkedIn, manual email
- Visibility: only tasks assigned to you, in every Team Edition mode
- Default call resolutions: **Positive**, **Negative**, **To Call** — custom resolutions are configured in the Reply web application
- Account matching identifier: **account domain** or **account name**, one at a time, set before searching
- Account Industry and Account: Company size are read-only in the extension
- Contact-list sync from Salesforce, HubSpot, and Copper carries all fields **except** custom fields
- Contacts saved with a generated placeholder email are limited to LinkedIn sequences

## FAQ

### How do I sign in to the extension?

Either with your Reply account credentials, or with an API key. For the key, click **Sign in
with the API key** in the extension, open Reply, go to **Settings → API key**, copy the
value from **Your API Key**, paste it into the extension form, and click **Sign in**.

### Can I save a LinkedIn contact who has no email address?

Yes, if the **Save without email** setting is on. Reply generates a placeholder address so
the contact can be saved and moved into LinkedIn sequences. Because the address is
autogenerated, those contacts cannot be added to sequences that contain email steps. You can
also filter revealed contacts by valid or invalid email before pushing them anywhere.

### How do new contacts get attached to a company record?

The extension reads the company LinkedIn shows for the person and prefills the **Account**
field. Turn on *Assign new contacts to the existing accounts based on* in the extension
settings and pick the identifier — account domain or account name — before you start
searching: matching contacts then join the existing account instead of creating another one
with the same name. Industry and company size are shown but edited in the web application.
See [Companies](/specifications/companies).

### Can I call and text a contact without a task?

Yes. Open the contact in the **People** tab: the phone icon dials them through Cloud Calls
(pick the number to call from if several are connected), and the **Messages** tab is a live
SMS thread where inbound replies appear as they arrive and templates can be inserted. Calls
made on a physical phone or another system can still be logged from a Call task with **Log
a call**.

### What happens to a contact if I delete their sequence task?

The contact moves on to the following step in the sequence. Bulk deletion behaves the same
way, so filter carefully before selecting the **All tasks** checkbox — see
[Tasks](/specifications/tasks) and [How sequences execute](/behavior/sequence-execution).

### Can a team owner execute a teammate's tasks from the extension?

No. In Team Edition, public or private, owners can *see* every team member's tasks on the
Reply Tasks page but execute only tasks assigned to them, and the extension shows only tasks
assigned to you. See [Workspaces and roles](/specifications/workspaces-and-roles).

### How do tasks get from the Reply Tasks page into the extension?

Open **More → Tasks** in Reply, select the tasks (or use the **All** checkbox), and click
**Launch**. The extension opens in execution mode and walks the tasks one at a time.
Completed tasks in the selection are skipped.

### Does the extension send WhatsApp messages itself?

No. It prepares and lets you edit the message, then hands it to WhatsApp Web or WhatsApp
Desktop, where you press **Send**. Replies are not tracked back into Reply — check them in
your WhatsApp account.

### Which CRM fields sync, and when does sync run?

Sync is on by default and runs each time you open a contact page or a list in Salesforce,
HubSpot, or Copper; **Find emails** or the **CRM Sync** button runs it on demand, and
manual-versus-automatic list sync is a setting in the extension. Individual contact sync
covers basic and custom fields when they are mapped with matching types; list sync covers
everything except custom fields. Salesforce's City field is not synced, and Mailing Address
maps into Reply's Country and State fields — falling back to Other Address when Mailing
Address is empty.

### What is the difference between the extension and the native CRM integration?

The extension acts on the record you are looking at, in your browser session, driven by you.
The native integrations sync in the background on a schedule with field mappings, filters,
and push-to-sequence rules. They are complementary — see
[CRM and integrations](/capabilities/integrations).

## Related

- [Tasks](/specifications/tasks) — the object the extension executes
- [Companies](/specifications/companies) — the account records contacts are assigned to
- [Prospect search](/capabilities/prospect-search) — filter-driven sourcing, as opposed to page-by-page reveal
- [LinkedIn outreach](/capabilities/linkedin-outreach) — the channel most extension work feeds
- [Calls and SMS](/capabilities/calls-and-sms) — the Cloud Calls and SMS capability behind the call and SMS tasks
- [CRM and integrations](/capabilities/integrations) — scheduled two-way CRM sync
- [Run multichannel outreach](/workflows/run-multichannel-outreach) — the workflow that generates these tasks
- [Contact enrollment](/behavior/contact-enrollment) — what happens when a saved contact reaches a sequence
- [Import contacts](/how-to/import-contacts) — the bulk alternative to page-by-page saving

## Build with Reply

- REST API: [docs.reply.io](https://docs.reply.io/api-reference/introduction) — the contact, list, and sequence operations the extension performs by hand
- MCP: [agents.reply.io/mcp](https://agents.reply.io/mcp) — agent access to the same contacts, sequences, and task queue
