Skip to main content

Campaigns

Campaigns are managed inside a workspace. Select a workspace before creating or editing campaigns.

Campaign recipient email behavior is unchanged by work-email enrichment. LeadsParrot uses the lead's primary Email value for campaign audience processing. A found work email fills Email only when Email was empty, so a user-supplied address remains the campaign address unless you edit it yourself.

Direct campaign links identify and restore the campaign's workspace. If you open one while using another workspace, LeadsParrot switches to the campaign workspace and updates the browser URL before loading the page. If you cannot access that workspace, the page reports that the campaign workspace is unavailable.

Campaign creation and the campaign Settings tab use the same campaign-settings form. You can update the campaign name, categories and tags, timezone, daily limit, automatic stop rules, open detection, and optional conversation label after creation. Open detection is enabled by default, including for campaigns that existed when the feature was introduced. Changing it affects future sends only; LeadsParrot cannot add or remove an image from email that was already sent. The conversation label is added alongside configured account and workspace labels for new conversations in that campaign. Changing the label affects new conversations only; existing tracked conversations are not updated automatically.

The campaign Overview is a command center rather than a settings summary. Its Leads, Sent, Open detected, Replies, and Bounces scorecards appear only on Overview. On wide screens, all five scorecards appear in one row; smaller screens wrap them for readability. It recommends the next useful action and maps the campaign journey through Sequence, Audience, Email accounts, and Launch. Sequence readiness uses the campaign's active steps. Audience shows Ready when the campaign has snapshotted leads and Not configured when it does not. Email accounts shows Not configured when the sender pool has no specific account or dynamic rule, Not ready when it is configured but has no active sender, and Ready when at least one selected sender can send. The campaign status appears beside the campaign name, and the campaign tabs are ordered Overview, Settings, Sequence, Email accounts, Audience, then Email Logs. The active tab is included in the page URL, so bookmarked and shared campaign links reopen the same tab.

Create a campaign

  1. Select the workspace for the campaign.
  2. Open Campaigns.
  3. Click Create Campaign.
  4. Enter the campaign name, daily limit, timezone, stop rules, and whether LeadsParrot should detect opens. To organize the campaign, use Add beside Categories & tags and select the optional Categories or Tags.
  5. Save the campaign.

When Workspace timezone is selected, LeadsParrot shows the timezone currently used by that workspace.

The campaign Daily limit applies across every email step and counts all emails sent by that campaign during the day. It is an upper limit, not a guaranteed sending volume. Campaign sending may stop below that number when the selected email accounts do not have enough available daily capacity, including when their configured limits or current warm-up eligibility reduce how many campaign emails they can send.

Understand campaign email token charges

Each campaign email requires the current send-cost hold before LeadsParrot attempts delivery. The hold is captured only when the sending provider accepts the email. A confirmed failed send releases the hold and does not consume tokens. See token costs by action for the live cost.

The charge applies separately to every successfully sent email step. A retry of the same campaign email settles its existing reservation instead of charging twice. The live cost page includes examples calculated from current backend pricing.

The campaign can send only while its workspace's selected token source and monthly cap have enough availability for the hold. When availability or the cap is insufficient, the affected lead waits and LeadsParrot retries later instead of sending or charging.

Choose sending email accounts

Open the campaign's independent Email accounts tab. Its canonical campaign-page URL hash is #email-accounts. The page shows one table of resolved email accounts in the campaign sender pool, including each account's sender name below its email address, owner, and Tags. Overall usage shows successful emails sent today through that email account across every campaign and workspace, followed by its daily limit. This campaign today shows successful emails sent today through that account for the current campaign only. Both counts use the same day boundary as sending-limit enforcement and do not include reserved or expected sends. Accounts matched by Categories or Tags appear as normal email-account rows without a separate source label. Choose the preview icon on any row to open a read-only view of that email account's identity, provider, connection, sending limits, warm-up, owner, workspace access, Tags, and signature.

Choose Manage email accounts to open the sender-pool sheet. The sheet has two tabs:

  • Email accounts searches the available email accounts and adds or removes specific accounts manually. Each row shows the account's Tags. Select an available account by clicking either its checkbox or its email address. Use the header checkbox to select or deselect all eligible accounts matching the current search; accounts hidden by the search keep their existing selection.
  • Categories & tags adds dynamic rules and previews the eligible email accounts currently resolved from the selected rules, including their Tags.

Choose Save sender pool inside the sheet to persist all specific-account and dynamic-rule changes in one step. There is no second page-level save action.

You can select:

  • One or more specific email accounts.
  • One or more Categories or Tags as dynamic sender rules.
  • Both specific accounts and dynamic rules.

The effective sender pool is the union of explicitly selected accounts and accounts matching any selected Category or Tag. Dynamic rules stay saved: when an eligible email account is assigned a matching Category or Tag later, it automatically enters the campaign sender pool. Removing its last matching rule removes it from the dynamic part of the pool unless it was also selected explicitly.

In the Categories & tags sheet tab, use Add to open the searchable picker. Switch between its Tags and Categories tabs, select a rule, and use the remove control on a selected chip when it should no longer apply. LeadsParrot does not display every available Category and Tag as a permanent checkbox list.

Only connected, eligible email accounts supported for campaign delivery can send. Unsupported providers remain visible with an explanation but cannot be selected yet. Warm-up, pauses, connection state, ownership and workspace access, account daily limits, and shared capacity continue to control whether a selected account can send now.

In Sender rotation and protection, choose whether first sends balance domains, weight domains by effective capacity, or balance individual email accounts. Choose Notify only, Reduce by 50%, or Pause for this campaign for a domain high-bounce incident. Defaults are Balance domains and Notify only. After a lead's first successful email, the sender is sticky; LeadsParrot waits instead of silently changing that identity. See Domain and email account rotation for calculations, examples, incident recovery, inactive senders, and reassignment.

Use the compact Campaigns button on a campaign page to return to the campaign list. You can manage the sequence directly from the campaign's Sequence tab. Choose Open full page when you want more room; on that page, use the Campaign button to return to the campaign's Sequence tab.

Manage campaigns from the list

The campaign list opens on Current campaigns, so archived campaigns stay out of the normal working view. Use the campaign filter to switch between Current campaigns, Archived campaigns, and All campaigns.

The selected campaign-list filter is stored in the browser URL, so bookmarked and shared list links reopen the same view and workspace.

The summary above the list follows the selected filter. Campaign performance totals Leads across campaigns, Sent, Replies, and Bounces, and shows reply and bounce rates as a percentage of sent emails. A lead that belongs to more than one campaign is counted once in each campaign's lead total. Campaign status shows the number and composition of campaigns in the current view with directly labeled status counts.

Each campaign row groups its status and creation date with the campaign name. Replies and Bounces show both the event count and its percentage of sent emails. On smaller screens, the same campaign details and performance values appear in campaign cards.

Use the pencil action to edit a campaign. Open the three-dot action menu to:

  • Duplicate a campaign as a new draft in the same workspace. The copy includes campaign settings, Categories and Tags, scenarios, and sequence steps. It does not copy Lead List assignments, recipients, sender email accounts, sending history, or statistics.
  • Pause an active campaign or Resume a paused campaign.
  • Archive a current campaign. Archiving stops campaign sending and moves the campaign out of the Current view.
  • Restore as draft from the Archived view.
  • Delete permanently an archived campaign that has never sent an email.

Archive, restore, and permanent deletion ask for confirmation. Permanent deletion removes the campaign, its sequence, and its recipient setup and cannot be undone. Campaigns with sent-email history can remain archived but cannot be permanently deleted.

Build and synchronize the audience

  1. Open the campaign.
  2. Open Audience and choose Manage sources.
  3. Search for a Lead List, optionally filter the picker by Account or Workspace, and choose a result. Every result shows its scope and lead count.
  4. Choose Live sync or Manual refresh.
  5. Connect and import the list.

The new Lead List is added below the campaign's existing audience sources. Open Manage sources whenever you need to change its update mode or priority.

Connecting, refreshing, reordering, or disconnecting a source runs in the background. The Audience table updates automatically while that work is queued or running. In Manage sources, each source reports how many campaign leads have been imported; while an import is still running, it can also show the larger number currently available in the source Lead List.

Workspace Lead Lists are isolated: a campaign cannot browse, connect, or import a Lead List from another workspace. Account Lead Lists are available only to users with permission to read account-level resources.

Add Campaign-added leads

Choose Add campaign leads when the audience should contain leads that are not connected to a Lead List. The sheet provides three methods:

  • Manual entry adds one lead directly to the campaign.
  • CSV upload queues a background import using headers such as email, first_name, last_name, company_name, and job_title.
  • Copy Lead List copies the list's current active rows once. The picker includes Account Lead Lists that you can read and Lead Lists owned by the campaign's workspace.

The first manual entry, CSV import, or one-time Lead List copy creates one campaign-only source named Campaign-added leads. It starts at the highest priority. These leads are not connected to an Account or Workspace Lead List. A copied Lead List is a detached snapshot, so later additions, removals, and data changes in the original list do not update the copied campaign lead. The audience table continues to show each lead's canonical origin, such as Manual entry, CSV upload, or Lead List copy.

LeadsParrot deduplicates the campaign audience by email. If a lead from a connected Lead List is also in Campaign-added leads, the audience keeps one row with both sources. The campaign-added source keeps that lead in the campaign even if the connected Lead List is later disconnected or removes the lead.

Use the edit action on a campaign-added row to change its campaign-specific values. These edits do not change an original Lead List or the account-level lead record. The email address can be changed until the campaign successfully sends an email to that lead. After the first successful send, the email address is locked so replies and campaign history remain associated with the same recipient; other campaign-added values remain editable.

Removing a campaign-added occurrence preserves the lead's campaign history. Future sending stops only when the lead has no other active campaign source.

Order audience sources

Open Manage sources, then drag audience sources into priority order. Campaign-added leads starts at the top when it is first created. Reordering starts a background audience recalculation.

When the same lead appears in multiple sources, each populated field from the highest-priority source wins. Lower-priority sources fill only fields that are blank in every higher source. This applies field by field, so one campaign lead can combine values from multiple sources without a lower source overwriting a populated higher-priority value.

Choose an update mode

The update mode controls when a connected Lead List changes the campaign audience.

Live sync automatically imports new leads, updates campaign data, and processes removals after the connected list changes. New leads enter an active campaign automatically. A campaign with a Live sync source remains Active and waits for future leads after its current audience finishes.

Manual refresh imports the current list and changes only when someone chooses Refresh audience in the campaign or Update connected campaigns from the Lead List. Both refresh paths run in the background.

You can change the update mode for a connected Lead List from Manage sources. Changing from Manual refresh to Live sync immediately queues a full update so the campaign catches up before future changes sync automatically. Changing to Manual refresh keeps the current campaign audience and waits for the next manual refresh.

The Audience tab is primarily a lead table. It shows each lead's active campaign sources and canonical origins, campaign status, last sequence step reached, next scheduled action, sent-email, reply and bounce counts, and last activity. Audience sources are grouped as Campaign-added leads or Connected Lead Lists. Canonical origins independently distinguish Lead Finder, CSV upload, manual entry, API, automation, and Lead List-copy occurrences; one lead can have multiple origins. Search the table or filter it by status, campaign source type, origin, or connected Lead List. Open the history action to review origins, source changes, every recorded sequence execution, campaign emails and activity events for that lead.

A lead that appears in multiple sources appears only once in the campaign while retaining every source. Populated values from the highest source win, while lower sources fill blanks only. When a lead disappears from every active source, LeadsParrot stops future campaign sends but retains the lead's complete campaign history. Data synchronized before a later sequence step is used when that step runs; the message history retains the exact values and content used for each earlier execution.

Build a sequence

Use the lightly outlined insert-step button in the Sequence Flow header to add an email or wait step below the selected step.

  1. Open the campaign and select the Sequence tab, or choose Open full page from that tab.
  2. Add email or wait steps from the compact borderless insert menu aligned at the bottom-right of the Sequence Flow header, or from the two actions below the flow. Its tooltip reads Insert step below selected step. A new step is inserted directly below the selected step and becomes selected. Wait steps accept positive whole-number durations in hours, days, weeks, or months. The unit menu shows each fixed conversion beside its option: 60 minutes per hour, 24 hours per day, seven days per week, and 30 days per month.
  3. Use placeholders to personalize message content with list data. Typing a new {{ trigger inside an existing placeholder and selecting another field replaces the complete existing placeholder.
  4. Start with a blank email, use a saved template, import an editable library copy, or paste a template copied from the Templates page.
  5. For changed AI-generated subject or body prompts, choose Validate AI prompts and resolve any reported conflicts.
  6. Preview or send a test for email steps.
  7. Save each step.

Drag a step by its reorder handle to change the message journey. Lead progress is anchored to the stable ID of the last step that lead completed, then continues from that step's position in the current sequence. Moving a step earlier can make later steps run again. For example, when a lead completed C in A → B → C and the sequence becomes C → A → B, that lead continues with A and then B again. LeadsParrot records every execution separately. Before an impactful reorder, the confirmation shows how many leads may repeat steps, skip forward, or become active again. Adding a step after a lead's last completed step makes it eligible next; adding one before it does not. Editing a Completed campaign never restarts sending automatically.

Example: moving a completed step earlier

Suppose a campaign has this sequence:

Introduction → Follow-up → Final reminder

A lead has already completed Final reminder, so that step is the lead's progress anchor. You then move Final reminder to the beginning:

Final reminder → Introduction → Follow-up

The lead keeps Final reminder as its last completed step, but that step is now first in the current sequence. The next step is therefore Introduction, followed by Follow-up. Those two steps can run again for that lead even if they ran before the reorder. LeadsParrot preserves each execution in the lead's campaign history.

Before applying an impactful reorder, review the confirmation counts for leads that may repeat steps, skip forward, or become active again. If repeating messages is not intended, pause the campaign and review the affected audience before applying the new order.

The reorder handle also supports keyboard sorting. Open an email step card's three-dot menu to Copy as template, Duplicate step, or use the red-highlighted Delete step action. Copy as template places the step's saved subject, email body, and template parameters on the clipboard in the same LeadsParrot format accepted by Paste template; save editor changes first when you want those changes included. Wait-step menus omit the template-copy action. Deleting a step requires confirmation because it cannot be undone. The confirmation reports how many leads reached the step and how many currently use it as their progress anchor. Leads anchored to a deleted step use their most recently completed step that still exists; if none remains, they restart from the first current step. A duplicate is inserted immediately below the source, receives Copy at the end of its name, and preserves the source step's content, settings, and live saved-template relationship. For the first 15 seconds after a step is added, its card shows just created. Until the first minute it shows created less than a minute ago, then shows the elapsed minutes until the temporary label disappears at 10 minutes. Above the email editor, use the pickaxe-marked Create email from button on the left to choose Start from scratch, Use saved template, Import from library, or Paste template when paste is available. Starting from scratch asks for confirmation before it clears the current editor draft and stages a blank email; choose Save to persist it. Preview is aligned at the far right of the same row. At the bottom of an email step, Send test to me is on the left and Save is on the right. Wait steps show only their relevant wait settings and Save.

Email steps use the same email-message builder as Templates, with Plain text / HTML, AI generated, and the Text / HTML + AI sections Coming Soon body mode. Subject and body editing, AI Builder, Template params, placeholders, model selection, Preview, and Send test to me controls behave consistently in both workflows. In Plain text / HTML mode, the body always remains static and is reused for every lead, even if AI Builder helped create or revise it. Independently choose a Static subject or an AI-generated subject with its own prompt, maximum length, and emoji choice. The selected model generates an AI subject separately for each lead; it can be combined with either the static Plain text / HTML body or a body generated per lead in AI generated mode.

Changed AI prompts must validate before either campaign-step Save action becomes available. LeadsParrot sends only changed sections: subject and body changes share one validation request when both need checking, while an unchanged section keeps its existing valid state. Subject checks use only its maximum length and emoji choice; body checks use Template params. Account AI providers use their cheapest compatible configured model. LeadsParrot AI validation costs zero customer tokens.

Use saved template keeps a live library reference. The campaign step automatically reflects later library edits, and its subject configuration, static subject, body, and template parameters are read-only in the campaign. Use Import this template to edit when you want to detach the current version.

Import from library copies the current subject configuration, static subject, body, and template parameters into the campaign as detached inline content. It remains fully editable, later library edits do not update it, and the original template can later be archived or deleted.

To move a detached copy through the clipboard, choose Copy template from a library template's action menu or Copy as template from a campaign email step's three-dot menu. Choose Paste template in an inline campaign email step or in the New/Edit Template library editor. The dialog asks whether to paste the subject, email body, and template parameters; all are selected by default. Selecting Subject pastes both the static subject and its Static/AI-generated configuration. Only selected parts are replaced. The pasted copy is staged in the editor rather than saved immediately, so you can review it and validate changed AI prompts before Save. If the copied body uses a different builder mode, its matching template parameters are required so the draft remains valid.

Paste template accepts only content copied through LeadsParrot's Copy template or campaign Copy as template action. Ordinary text, arbitrary JSON, and clipboard content from other applications are not valid template documents. When the clipboard does not contain a valid LeadsParrot template, the app shows No valid template in clipboard with a Learn more action beneath the message instead of exposing technical parsing details.

Inline template parameters remain independently editable. Open Template params immediately to the left of Placeholders in the campaign email composer to change the step's output, length, tone, general instructions, AI-generated options, HTML design, and phrase guardrails without changing the library template. The separate selective JSON Copy parameters and Paste parameters dialogs remain available in the parameter sheet.

For an editable Plain text / HTML step with Apply parameters to AI Builder on, Save checks the manually edited body against deterministic parameters. If the body exceeds its word or paragraph maximum, contradicts required or excluded phrases, or differs from the selected output format, review the proposed changes and choose Keep editing or Update template parameters and save. Only maximums are configurable; minimums are not. This local check uses no AI or tokens and never changes subjective settings such as tone, reading level, personalization, CTA style, creativity, or HTML palette roles.

Only live Use saved template references prevent a library template from being archived or permanently deleted, regardless of campaign or step status. Imported and clipboard-pasted copies have no library dependency.

Monitor campaign activity

Use the campaign overview, Email Logs, and Inbox to review campaign activity and replies.

Campaign rows and cards show assigned taxonomy chips. In table view, use the add-tag icon in a row's action area to assign a Category or Tag, and use a chip's remove control to remove it. You can also manage multiple Account taxonomies and taxonomies owned by the current Workspace from the campaign Settings tab.