• Virtual Marketer CRM logo
    Virtual Marketer CRMDocumentation
  • Introduction
Getting Started
  • Quickstart
  • Core Concepts
Connect your AI
  • Custom connector
  • CLI & editors
  • Rate limits
Integrations
  • MCP
  • Webhooks
  • Website leads
  • OpenAPI 3.1.0
  • N8N
  • WhatsApp API
App guide
  • Dashboard
  • Inbox
  • Records
  • Profile
  • Company
  • Lead sending
  • API Keys
  • Filter Syntax
Licensing & security
  • Architecture & Security
  • Go back
  1. Introduction
  2. Lead sending

Lead sending

How an approval in the CRM sends a prepared e-mail to a lead, at what pace, what happens afterwards, and how to stop it. Plus the manual Instagram marker.

Lead sending delivers prepared first e-mails to organizations as soon as a person approves them. It is not a newsletter and not a bulk send: every e-mail goes out on its own, at a random distance from the previous one, from your own connected mailbox.

Lead sending is set up per workspace. Until it is set up for yours, you will not see any of it.

What has to be in place

An organization needs three prepared values in custom columns:

  • Recipient address: the e-mail address to write to.
  • Subject: a single-line text column.
  • E-mail text: a multi-line text column.

Plus a singleSelect status column, for example Lead status, with one option for the approval (such as Approved) and one for afterwards (such as Contacted). Which columns and options apply is fixed when lead sending is set up. Mail goes out from a connected mailbox of your workspace.

Approving means queueing

As soon as you set an organization's status to the approval option, the CRM queues the e-mail. The rules:

  • Only a person can approve. An approval coming from a service account or an automation is not queued; a task is created instead so somebody takes a look.
  • The text is captured at approval. What gets queued is the subject and text in the columns at that moment. Editing the text afterwards does not change the queued e-mail. To send the new text: move the status off the approval (the e-mail is cancelled), edit the text, approve again.
  • If something is missing, nothing is queued. Without recipient, subject or text you get a task instead of an e-mail.
  • There is exactly one e-mail per organization. Approving again never sends twice. Only a cancelled, failed or bounced e-mail is queued again by a new approval.

The pace

The CRM sends queued e-mails in order, one at a time:

  • A random gap of 5 to 30 minutes after the last e-mail that actually went out. Each e-mail gets its own gap, so no fixed rhythm emerges.
  • Only inside the sending window: Monday to Saturday, 8:00 to 18:00 German time (Europe/Berlin). Nothing is ever sent on a Sunday. Anything queued outside the window goes out on the next sending day.
  • The status is checked again right before sending. If the organization is no longer on the approval, the e-mail is cancelled instead of sent. That is how you take back a single e-mail before its turn.

After sending

  • The recipient address becomes a contact if it does not exist yet, linked to the organization.
  • The sent e-mail appears in the inbox, in the thread with that contact. Replies land in the same thread.
  • The organization's status moves to the option for afterwards, for example Contacted.

When something goes wrong

  • The mail server rejects the e-mail. It is marked failed and not retried. You get a task with the reason.
  • The outcome is unclear, for example because the connection dropped mid-send. After 30 minutes the e-mail is marked failed and not sent again, because it may already have arrived. A task asks you to check the mailbox.
  • The e-mail bounces. When the bounce arrives in the connected mailbox, the CRM recognizes it, marks the e-mail as bounced and creates a task.
  • The mail server rejects because of reputation, for example with a reference to spam, a blocklist or a block. Then the CRM pauses all lead sending and creates a task. No further e-mail goes out until a person resumes. This keeps your mailbox from sliding deeper into spam filters with every further e-mail.

Overview, pause and resume

Under Company → Settings you find the Lead sending card once it is set up for your workspace. It shows:

  • whether sending is running or paused, since when and why,
  • the sending window and the sender address,
  • how many e-mails are queued, sent, failed, bounced or cancelled,
  • the send list with company, recipient, subject, status, send time and the failure or bounce reason. Whatever is being sent or queued is at the top, in the order it will go out.

Anyone who may read all organizations sees the card. Anyone who may edit the company settings can pause and resume.

Pause stops sending immediately. Queued e-mails stay queued; an e-mail already being handed to the mail server at that moment finishes. Pausing also works over the API and over MCP (pause_lead_sending), so an agent can stop sending when it notices something wrong.

Resume sends real e-mails to real recipients. That is why the card asks first, and why it only works as a signed-in person in the web app. An API key, an MCP agent or a service account cannot resume sending, not even with full permissions.

An agent can use get_lead_dispatches over MCP to see which organizations were already mailed, which bounced and which are still waiting.

Second mail after a reply

When a lead answers the first mail, the CRM holds a second mail that links the Media Kit (only active when the rule has a text set). It does not go out unchecked: an agent reads the reply with get_lead_follow_ups and decides with decide_lead_follow_up whether to send or skip, with a stored reason. Declines, unsubscribe requests, auto-replies and anything unclear are skipped. The agent cannot change the text. After approval the sending window and spacing apply as before, and the CRM re-checks at send time that nothing changed in between. Each second mail is sent at most once.

Marking Instagram messages

The CRM does not send Instagram messages. To still see who already got one, organizations have two columns you maintain by hand:

  • Instagram gesendet (Instagram sent): what you sent, with the options Text, Sprachnachricht (voice message) or Text + Sprachnachricht.
  • Instagram gesendet am (Instagram sent on): the date.

You do not have to enter the date. As soon as you set Instagram gesendet, the CRM writes today's date (German time) into Instagram gesendet am, but only if it is still empty. A date that is already there stays as it is. To correct it, simply overwrite it.

This link between a column and its date column is set up per workspace and works for any such pair of columns, not only for Instagram.

What has to be in place
Approving means queueing
The pace
After sending
When something goes wrong
Overview, pause and resume
Second mail after a reply
Marking Instagram messages