Skip to content

Leads & Pipelines โ€‹

The Leads page is the Sales Platform's built-in CRM surface: every contact your agents talk to (plus any leads you create or import yourself) in one place, viewable as a sortable table or as a drag-and-drop pipeline board with funnel stages.

In the app

Open Leads in the left sidebar at app.mychatbot.app/leads. The toggle at the top right switches between the Leads table and the Pipeline board; the app remembers your last choice per account.

The Leads page in table view with the filter toolbar and the Leads / Pipeline toggle

At a glance โ€‹

You needWhereResult
Browse and edit leads in bulk-friendly rowsLeads view (table)Inline edit of Status, Labels, and Pipeline per row
A Kanban view of your funnelPipeline view (board)Drag cards between stages; each column is a funnel status
Work in one specific pipelinePipeline dropdown next to the page titleBoard columns and Status filter scope to that pipeline; the default one is marked (default)
Add a single lead by handโ‹ฎ menu โ†’ New lead"Create external lead" modal
Bring in a whole listโ‹ฎ menu โ†’ Import leadsGoogle Spreadsheet import wizard at /leads/import
Change many leads at oncePipeline view โ†’ SelectBulk toolbar: Status, Pipeline, Manager, Labels
Add / rename / reorder funnel stagesPipeline view โ†’ gear icon (Customize columns)"Funnel statuses" editor
Create / rename / delete a pipeline, change the defaultAccount Settings โ†’ Pipelines"Manage Pipelines" screen (see Managing pipelines)

Two views, one dataset โ€‹

  • Leads โ€” a paginated table. Best for scanning details, inline edits, and deleting leads.
  • Pipeline โ€” a board where each column is a funnel status of the selected pipeline. Best for moving deals through stages and bulk operations.

The current view is kept in the URL (?view=list or ?view=pipeline), so you can bookmark or share either one. If your account has pipelines, a dropdown next to the title switches between All Pipelines and a single pipeline โ€” that choice is also kept in the URL and remembered between visits.

Where pipelines and stages come from

Funnel statuses (stages) and labels are managed in the agent's configuration under Lead Management (with Manage leads locally and Pipeline Statuses), synced from a connected CRM (a one-way import โ€” see CRM-synced stages), or created right on the pipeline board (see Managing funnel stages). Pipelines themselves โ€” the entries in the header dropdown โ€” are created, renamed, deleted, and given the default flag in Account Settings โ†’ Pipelines (see Managing pipelines). See Labels and Statuses for how agents set them during conversations.

The leads table โ€‹

The table shows "N total leads" above these columns:

ColumnContentsInline actions
LeadAvatar, name, notes badge ("N notes"), Email, Phone, IDโ€”
StatusFunnel status chip (colored like its board column) or "No status set"Pencil icon โ†’ pick a status; re-selecting the current one clears it ("Status updated" / "Status cleared")
LabelsLabel chips or "No labels"Pencil icon โ†’ toggle any existing labels on/off ("Label added" / "Label removed")
PipelinePipeline chip or "No pipeline"Pencil icon โ†’ pick a pipeline; re-selecting clears it ("Pipeline set to โ€ฆ" / "Pipeline cleared")
OwnershipManager (human owner) and Agent (AI agent that handles the conversation)โ€”
ActivityCreated, Last active, and links to the lead's conversations (Chat 1, Chat 2, โ€ฆ) or "No chats yet"โ€”
ActionsEye icon ("Open in chats") jumps to the lead's conversation with the client card open; trash icon deletes the leadโ€”

Deleting asks for confirmation: Delete Lead โ€” "Are you sure you want to delete {name}? This action cannot be undone. All data associated with this lead will be permanently removed."

The table deletes any lead โ€” conversations included

The table's trash icon works on every lead, channel-connected or manual. "All data associated with this lead" includes the lead's conversations: deleting a connected lead also permanently removes its chats from the Chats page. If the person later writes to you again on the channel, they arrive as a brand-new lead with no history.

This is intentionally stronger than Remove lead in the record panel and on board cards, which works only for manual leads (see The lead record panel). The table view is the only place to delete a channel-connected lead.

When there are more leads than fit one page, pagination appears: Rows per page (10 / 20 / 50, default 10) with Previous page / Next page.

The lead record panel โ€‹

Following a lead link from elsewhere in the app (for example a task's linked contact) lands on the Leads page with the lead's full record open. The panel shows:

SectionWhat you can edit
Personal InfoFull name
Work InfoEmail, phone, company
AssignmentsManager, Status, Labels, Pipeline
NotesAdd a note (title + content), read and delete existing notes
  • Back to leads returns to the list; Remove lead appears only for manually created leads (leads without a linked channel conversation) โ€” on the board, attempting it on a connected lead shows "Only manual leads can be removed" ("Lead removed" on success). The panel and board deliberately refuse to touch connected leads; the table's trash icon has no such guard and deletes any lead together with its chat history (see the warning above).
  • If a lead has no chats yet and you have outreach-capable channels connected, the panel offers first-touch actions: Message via Personal WhatsApp, Message via Telegram account, Call via Ringostat (phone required), Send email via Gmail (email required). Replies are routed to the agent shown on the button.
  • Saving a phone number that already belongs to another contact opens Phone number already in use โ€” "This phone number already belongs to {name} ({phone}). Merge these contacts into one?" Confirming with Merge combines the two records ("Contacts merged successfully"). Duplicate emails are rejected with "A client with this email already exists".

Pipeline board โ€‹

Each visible funnel status is a column, plus a permanent No status column where leads without a stage land. Column headers show a live lead count; long columns load in pages with a Load more (N remaining) button.

Cards show the lead's name, email/phone, a notes badge, the channel it came from (or "No channel" for manual/imported leads), an Active badge when the lead was active in roughly the last day (otherwise the last-active date), labels, and Manager / Agent / Channel rows. Open on a card jumps to the lead's conversation in Chats.

Moving leads:

  • Drag a card to another column โ†’ "Moved to {status}". Dropping on No status clears the stage.
  • Dragging a card into a different pipeline whose stage list doesn't contain the card's current status asks: Create "{status}" in {pipeline}? โ†’ Create & move adds the stage there and moves the card.

Board empty state: "No leads match your filters yet. Try adjusting them or add new contacts."

Managing funnel stages (Customize columns) โ€‹

Click the gear icon at the top right of the board to open the Funnel statuses editor ("Use the arrows to reorder, update colours, hide rarely used stages, or delete empty ones."):

ControlEffect
Up / down arrowsReorder columns
Color paletteRecolor a column (also recolors its status chips in the table)
Eye iconHide / show a column โ€” at least one must stay visible ("Keep at least one column visible")
Pencil iconRename the stage
Trash iconDelete an empty stage โ€” blocked with "Move or close leads in this stage before deleting it" otherwise
Add new funnel statusType a name (e.g. "Demo scheduled") and click Add
DoneClose the editor

The No status column can't be removed: "Always visible โ€“ leads without a stage land here."

Stage scope

When a specific pipeline is selected in the header dropdown, new stages are created in that pipeline and the board shows only its stages. With multiple pipelines and All Pipelines selected, stage names display as "Stage (Pipeline name)".

CRM-synced stages (one-way import, no write-back) โ€‹

Sync statuses (on your CRM's card under Integrations) copies the CRM's stage list into MyChatBot: it creates any stage you don't have yet in the agent's assigned pipeline ("Statuses will be synced to the agent's assigned pipeline.") and changes nothing in the CRM. Nothing on the Leads page writes back either:

You do this on the Leads pageWhat the external CRM sees
Drag a card to another stage, edit Status inline, or bulk-change statusesNothing โ€” only MyChatBot's lead record changes; the deal in the CRM does not move. The CRM deal's stage changes only through the integration itself (for example when the agent updates the deal during a conversation), and a stage arriving from the CRM side can later overwrite the status you set here
Rename or delete a stage in the Funnel statuses editorNothing โ€” but sync matches stages by name, so the next Sync statuses run re-creates the stage under its original CRM name (a renamed stage effectively comes back as a duplicate)
Recolor, reorder, or hide a stageNothing โ€” and these changes survive re-syncs, since sync only adds missing names and never touches existing stages

In short: synced stages are not locked on this screen, but treat the CRM as the source of truth for its own stage list, and don't expect a board drag to move the deal in the external CRM.

Bulk operations โ€‹

  1. Click Select on the board (it turns into Cancel while active).
  2. Click cards to select them, or use the checkbox in a column header to Select all in column.
  3. The toolbar shows "N selected" with four dropdowns:
DropdownOptions
StatusAny funnel status of the selected pipeline, or No status
PipelineAny pipeline, or No pipeline
ManagerAny team member, or Unassigned
LabelsToggle labels, then Apply labels (replaces the selection's labels)

Picking a status, pipeline, or manager applies immediately ("Updated N leads"; partial failures report "Updated X of Y leads"). Moving a batch to a pipeline that's missing some of the leads' current statuses asks Create {statuses} in {pipeline}? โ†’ Create & move first creates the stages, then moves everyone.

Managing pipelines โ€‹

Pipelines themselves โ€” the entries in the Leads header dropdown โ€” are managed in Account Settings โ†’ Pipelines at app.mychatbot.app/profile/pipelines. The tab is visible to account admins/owners only ("Create and manage pipelines to organize your leads and funnel statuses.").

ActionHowNotes
CreateNew Pipeline โ†’ Pipeline Name (e.g., "Sales Pipeline, Marketing Funnel") + optional Description โ†’ CreateName is required ("Pipeline name is required")
Rename / edit descriptionPencil icon (Edit pipeline)The new name shows immediately in the header dropdown and Pipeline chips
Change the defaultStar icon (Set as default) on any non-default pipelineThe current default carries a Default badge. The default receives leads whenever nothing picks a pipeline explicitly โ€” "Lead will be created in the default pipeline" in the New lead modal, and it's preselected as Import to pipeline
DeleteTrash icon (Delete pipeline) โ†’ confirm Are you sure you want to delete "{name}"?Only offered for non-default pipelines, and only succeeds once the pipeline is empty โ€” see below

A pipeline can only be deleted when nothing depends on it anymore:

  • The default pipeline can't be deleted ("Cannot delete the default pipeline") โ€” make another pipeline the default first.
  • All of its funnel stages must be gone โ€” otherwise deletion fails with "Cannot delete pipeline with existing statuses. Please delete or move statuses first." Delete the stages in the Funnel statuses editor; each stage must itself be empty of leads.
  • No agent may be assigned to it โ€” otherwise "Cannot delete pipeline assigned to assistants. Please reassign assistants first." Point the agent at another pipeline in its configuration under Lead Management.

Because every stage has to be emptied before it can be removed, leads are never stranded in a stage of a deleted pipeline. Leads that were still in the pipeline without a stage are not deleted โ€” they stay in your list and their Pipeline column simply shows No pipeline.

Pipelines are also created for you

You don't have to create every pipeline by hand: a spreadsheet import with a mapped Pipeline column creates missing pipelines automatically (see Duplicates and unknown values), and every agent is tied to a pipeline in its Lead Management settings โ€” that assignment drives where new conversations land ("Clients are automatically assigned to a pipeline when they interact with an agent").

Filtering, search & sorting โ€‹

The toolbar above both views:

ControlBehavior
Quick searchMatches names, contact details โ€” and lead IDs. Typing a search clears the date filters so results aren't hidden by a date window
StatusMulti-select of funnel statuses (shown with their pipeline name when you have several pipelines); selected values appear as removable chips
LabelsMulti-select of labels
ManagersMulti-select of team members
AgentsMulti-select of AI agents
Date createdCalendar range picker with Apply / Close; the chip shows the active range with an ร— to clear
Date last activeSame picker for last activity
Sort byLast active ยท newest first (default), Last active ยท oldest first, Created ยท newest first, Created ยท oldest first
Clear allResets every filter and the sort

Default date window

On a fresh visit the list opens with a Date created filter covering only the last few days โ€” older leads are hidden until you clear the chip (or hit Clear all). If you're "missing" leads, check this filter first. Filters persist for the browsing session, so a range you set earlier can still be active later.

Creating a lead manually โ€‹

โ‹ฎ menu โ†’ New lead opens the Create external lead modal:

SectionFields
PersonalFull Name (required), Email, Phone (validated as an international number โ€” "Invalid phone number format")
WorkCompany, plus a note that will appear on the lead card
Additional infoYour account's custom lead fields (shown when any exist)
AssignmentsFunnel Status (stages of the target pipeline, or "No status"), Labels, Manager

Where the lead lands is shown in the modal:

  • A pipeline selected in the header โ†’ "Lead will be created in the currently viewed pipeline."
  • Otherwise โ†’ "Lead will be created in the default pipeline."
  • If the agent's Lead Management settings disable auto-assignment, the pipeline reads None (Auto-assignment disabled) with the hint: "Automatic pipeline assignment is disabled. You can enable it in the 'Lead Management' section of the Assistant Configuration."

Manually created leads have no channel yet โ€” use the record panel's outreach buttons (Personal WhatsApp, Telegram account, Ringostat, Gmail) to start the first conversation.

Importing leads from a spreadsheet โ€‹

โ‹ฎ menu โ†’ Import leads opens the Import Leads wizard at /leads/import. The source is a Google Spreadsheet: "Connect your Google account to import leads from a spreadsheet. The first row must contain column headers (e.g., Name, Email, Phone)."

Importing a CSV

Google Sheets opens CSV files directly โ€” upload your CSV to Google Drive (or File โ†’ Import in a new sheet), then pick that spreadsheet here.

The flow:

  1. Select Spreadsheet โ†’ sign in with Google โ†’ pick the file in the Google picker.
  2. Review the preview ("N rows found", "Preview (first 5 rows)"). You can edit any cell right in the preview โ€” click it, change the value, press Enter ("Cell updated successfully"); edits are written back to the sheet. After editing the sheet elsewhere, use Reload Preview; Change spreadsheet picks a different file.
  3. Fix phone validation issues (see below).
  4. Map columns to lead fields โ€” "Unmapped columns will be stored as metadata."
  5. Pick the target pipeline and click Import N Leads.

Column mapping targets:

Lead fieldNotes
Full Name (required)Can combine several columns โ€” Add column (to concatenate); "Columns will be concatenated with spaces"
Phone / EmailAt least one must be mapped ("Please map at least Phone or Email column")
Company, Manager, Labels, Notes, Ad TitleOptional
PipelineOptional โ€” when mapped, "Pipeline will be determined from spreadsheet column"; when not, choose one in the Import to pipeline dropdown (default pipeline preselected)
Funnel StatusOptional โ€” sets each lead's stage from the sheet
Custom fieldsEvery custom lead field on your account gets its own mapping row

The wizard auto-detects likely mappings from your header names; anything left as "-- Not mapped --" is kept on the lead as extra metadata ("N unmapped column(s) will be stored as metadata").

Duplicates and unknown values โ€‹

Rows that match an existing lead update it โ€” no duplicates. Each row is matched against your existing leads by phone number and email (after normalization). When a row matches:

  • The existing lead is updated in place: Full Name, Company, Manager, Ad Title, and custom-field values from the sheet are written onto it, and a missing email or phone is filled in (an email/phone the lead already has is never overwritten).
  • Its Pipeline, Funnel Status, and Labels are left untouched โ€” an import never moves an existing lead to another pipeline or stage and never rewrites its labels. To restage existing leads in bulk, use Bulk operations on the board instead.
  • The Notes column is written only for newly created leads, so repeated imports don't stack duplicate notes.

Re-running the same import is therefore safe: matched rows count toward Successfully imported again, but no duplicate leads appear. Rows that match nothing are created as new leads.

Unknown mapped values are created or skipped, per field:

Mapped fieldWhen the sheet value doesn't exist on your account
PipelineThe pipeline is created automatically (names match case-insensitively) and the lead lands in it
Funnel StatusIf no stage with that name exists anywhere on the account yet, it's created in the lead's pipeline and appears as a new board column
LabelsComma-separated in one cell; each unknown label is created
ManagerMatched against your team members by name; an unknown name is skipped โ€” the lead imports without a manager, with no error

Imports add, they never clean up

Because unknown pipelines, stages, and labels are auto-created, a typo in the sheet ("Qualifed" instead of "Qualified") silently creates a new stage or label. Check the sheet's values against your existing names before importing โ€” auto-created stages and labels stay on the account even if you delete the imported leads afterwards.

Phone validation runs on the preview before you can import:

ResultMeaning
ValidNumber parses as a valid international number
Warnings โ€” "N phone number(s) will be normalized""Phone numbers without a '+' prefix will be normalized automatically during import based on detected country patterns." โ€” import proceeds
Errors โ€” "N phone number(s) cannot be imported"Unrecognized format, undeterminable country code, too short, invalid characters, or empty. The import button is disabled ("Fix phone number errors in your spreadsheet to enable import") โ€” fix the highlighted cells, then reload the preview

During and after the import:

  • Progress screen: "Please wait while we import your leads. This may take a few minutes." with Processed / Total counters, the contact currently importing ("Contact X of Y"), and a running list of skipped sheet rows ("N sheet row(s) skipped (invalid values)").
  • Import Complete! shows Total processed, Successfully imported, and Failed โ€” failures mean "missing or invalid contact information (phone or email required)". Finish with View Leads or Close.
  • If the status can't be refreshed mid-import: "Could not load import status. You can try again, or open Leads โ€” the import may still finish in the background."

Lead fields โ€‹

FieldSet byShown
Full Name, Email, Phone, CompanyAgent (from conversation), manual entry, or importTable Lead column, record panel
Funnel StatusAgent, inline edit, board drag, bulk ops, importStatus chip / board column
LabelsAgent, inline edit, bulk ops, importLabel chips
PipelineAuto-assignment, inline edit, board drag, bulk ops, importPipeline chip / board scope
ManagerInline record edit, bulk ops, importOwnership column, card
NotesRecord panel, "New lead" modal, import (Notes column)Notes badge + record panel
Ad TitleAd-sourced channels or importClient card details
Custom fieldsClient card (+ Add new field: text or dropdown), then fillable in New lead โ†’ Additional info and mappable in importsClient card Additional info

Deleting a custom field (from the client card) removes it from the account's field list โ€” "Values already saved on existing leads will remain in their metadata," but "Removing it from the account list cannot be undone."

Use cases โ€‹

  • Run a lightweight CRM without connecting one โ€” let agents set statuses/labels mid-conversation, then manage the funnel visually on the Pipeline board.
  • Migrate a lead list โ€” import a spreadsheet with pipeline + status columns and land every lead in the right stage, then trigger first contact from the record panel's outreach buttons.
  • Re-segment before a campaign โ€” filter by Status + Labels + Manager, switch to Pipeline view, Select โ†’ bulk-apply a label, then target that label in Follow-ups.
  • Team handoff โ€” filter unowned leads, bulk-assign a Manager, and track their movement by stage.
  • Run separate funnels per team or product โ€” create a second pipeline in Account Settings โ†’ Pipelines, point an agent at it under Lead Management, and jump between funnels with the header dropdown.

Test it โ€‹

  1. Open app.mychatbot.app/leads, clear the Date created chip, and confirm your lead count ("N total leads") looks right.
  2. โ‹ฎ โ†’ New lead โ†’ create a test lead with your own phone number. Check the hint says which pipeline it will land in.
  3. Switch to Pipeline view and drag the test card to another stage โ€” you should see "Moved to {status}", and the change should be reflected in the table view's Status chip.
  4. Click Select, select two cards, and bulk-apply a label โ€” expect "Updated 2 leads".
  5. Make a 3-row Google Sheet (Name / Phone / Email), run Import leads, deliberately break one phone number, and confirm the import button disables until you fix it and hit Reload Preview.
  6. Run the same import a second time โ€” Import Complete! reports the same totals, but "N total leads" doesn't grow and no duplicate rows appear.
  7. Open the imported lead's record (it has no chats) and verify the outreach buttons for your connected channels appear.
  8. In Account Settings โ†’ Pipelines, click New Pipeline and create a test pipeline โ€” it should appear in the Leads header dropdown immediately. Then delete it (trash icon): with no stages or agents attached, it disappears after the confirmation.

See also โ€‹