• 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. Rate limits

Messaging rate limits

Why connected channels are rate-limited, the per-provider limits that apply, and what happens when one is reached.

When you connect a channel (email or WhatsApp), Virtual Marketer CRM talks to that provider on your behalf. Every provider enforces its own request limits, and exceeding them can get the underlying account throttled or suspended. To stay within safe bounds, Virtual Marketer CRM applies a conservative request budget per channel and pauses before a provider would push back.

A paused sync is expected behavior: it keeps the connected account within provider limits and resumes on its own.

How the limits work

Limits apply per connected account at three levels at once:

  • Per endpoint: a cap on each individual operation (listing chats, reading messages) over a rolling minute and day. These are the read limits below.
  • Per sensitive method: a stricter cap on riskier operations (profile lookups, sending a message or a connection request). These are the sensitive limits below.
  • Per account: an overall cap across every call for the account.

When a window is full, further calls are rejected until it rolls over.

Read limits

Read operations sync history. They are set higher than writes because reads rarely trigger a provider ban.

ProviderReads / minuteReads / day
WhatsApp30510
Gmail / Google100none
Outlook100none
IMAP100none

Some values are shaped by the provider's own ceilings: email channels cap the per-minute read limit at 100, and the daily limit moves in steps of 30 (so a target of 500 is applied as 510). The email providers do not expose a separate daily read limit.

Sensitive limits

The riskier operations stay conservative regardless of the read budget: starting a new conversation and any send action.

ProviderActionLimit
WhatsAppStart a chat3 / minute, 30 / day
Gmail / GoogleSend an email300 / day
OutlookSend an email300 / day
IMAPSend an email300 / day

What you see when a limit is reached

The action returns a message with the time to wait, for example:

This channel hit its rate limit. You can try again in 2 minutes.

You can retry once the indicated window passes. Nothing is lost in the meantime.

History syncs itself

Importing a full message history can be large, roughly one request per conversation. If a limit is reached mid-import, the background importer pauses and resumes automatically when the window frees up, with no action needed on your part. Opening a conversation also loads its messages on demand, and new activity arrives in real time over webhooks.

How the limits work
Read limits
Sensitive limits
What you see when a limit is reached
History syncs itself