Messaging rate limits
Kuration enforces per connected account send limits for LinkedIn, WhatsApp, and email. These protect connected accounts from provider restrictions (especially Unipile-backed LinkedIn / WhatsApp / mailbox sends). Limits are shared across Inbox and column send tools for the same connected account.
LinkedIn and WhatsApp ceilings follow Unipile’s published provider limits and restrictions (conservative end of their ranges). Email first-touch uses safer mailbox defaults below Gmail and Outlook provider ceilings.
How limits are counted
| Term | Meaning |
|---|---|
| Account | One connected Unipile account (LinkedIn member, WhatsApp number, or mailbox)—not your whole workspace. |
| Outreach | First touch: new LinkedIn DM / InMail, connection invite, new WhatsApp chat, or new email thread (Send Email tool without a reply). |
| Reply | Message in an existing Inbox thread (or email send with reply_to). |
| Day / week | UTC calendar day and ISO week. Counters reset when the window rolls. |
flowchart LR
inbox[Inbox_reply]
tools[Send_LI_WA_Email_tools]
quota[Per_account_quota]
unipile[Unipile_API]
inbox --> quota
tools --> quota
quota -->|under_cap| unipile
quota -->|over_cap| reject[Queue_or_HTTP_429]
Limits
| Action | Cap (per connected account) |
|---|---|
| LinkedIn DM (new / Send LinkedIn tool) | 100 / day |
| LinkedIn InMail | 40 / day |
| LinkedIn connection invitation | 80 / day and 200 / week |
| LinkedIn profile visit | 80 / day |
| LinkedIn post like | 80 / day |
| LinkedIn post comment | 40 / day |
| WhatsApp new chat (Send WhatsApp tool) | 30 / day |
| WhatsApp any send (new chat or Inbox reply) | ≥ 15 seconds between sends |
| Email new thread (Send Email tool) | Google 500 / day, Microsoft 1,000 / day, 100 / day for other and IMAP mailboxes |
| Inbox reply (LinkedIn / WhatsApp / email) | 500 / day circuit breaker (plus WhatsApp 15s gap) |
| Emoji reactions | Not limited |
Outreach is capped tightly because cold volume drives provider risk. Inbox replies on warm threads use a high circuit breaker only, to catch runaway clients, not to act as a normal daily product budget.
LinkedIn connection requests
Kuration caps invites at 80 per day and 200 per week per connected account. LinkedIn also enforces its own limits on top of that. The tighter of the two wins.
| LinkedIn account | Invites | With a note |
|---|---|---|
| Paid / Premium, active | About 80–100 per day, 200 per week | Note up to 300 characters. No monthly note cap. |
| Free / Basic | About 150 per week without a note | About 5 per month, note up to 200 characters. |
Spaces, punctuation, and emoji count toward the note. Kuration rejects notes over 300 characters before sending. A free account that sends a note over 200 characters is rejected by LinkedIn; the cell explains the limit instead of a generic error.
These rules apply to Send LinkedIn Connection Request and invites from Inbox or a sequence.
Source: LinkedIn Help (InMail vs personalized invitations).
What you see when limited
- Inbox — reply (or related send) fails with HTTP 429 and a message such as “daily rate limit reached” or “sends must be at least 15 seconds apart”.
- Send Email and LinkedIn columns (DM, InMail, invite, visit, like, comment) — rows past the cap queue automatically and send when that account’s quota resets (UTC). The project header shows how many are queued. You can cancel that queue from the banner.
- Send WhatsApp column — the cell shows a retriable error. Wait for the daily window, or about 15 seconds for the pace gap, then retry.
- Sequences — a rate-limited step waits until the quota window resets, then continues without restarting the sequence.
- Connection note too long — the invite cell shows the note’s character count and the 200 (free) / 300 (Premium) limit. Shorten the note and rerun. That is not a rate-limit error.
Queued column sends and deferred sequence steps drain on their own only when the backend scheduler is on (ENABLE_CRON=true).
Per-account settings
Platform ceilings above cannot be raised. A connected account can only lower its first-touch cap, and can skip first-touch sends on chosen UTC weekdays. Inbox replies stay on the circuit breaker and are not blocked by these settings.
| Where | What you can change |
|---|---|
| Settings → Accounts (gear on a LinkedIn or WhatsApp account) | Daily send limit, up to 100 / day (LinkedIn) or 30 / day (WhatsApp). That number caps first-touch DMs, InMail, invites, and new WhatsApp chats. It does not change visit, like, or comment caps. Uncheck a weekday under Sending days to skip first-touch that day. |
| Settings → Sender Accounts (open a mailbox) | Daily send limit, up to that mailbox’s platform default (Google 500, Microsoft 1,000, otherwise 100). Sending days skip first-touch email the same way. |
Only the person who connected the account can edit it. Sequences wait until the next allowed UTC day when a sending day is off.
What is not covered here
- Unipile’s own LinkedIn API 1 request/second pacing (infrastructure throttle, separate from these daily/weekly abuse caps).
- Search or relations polling quotas.
- Instagram / Facebook messaging.
Related
- Connect LinkedIn / WhatsApp: Settings → Accounts.
- Connect a Google, Microsoft, or IMAP/SMTP mailbox: Settings → Sender Accounts.
- Developers overview — API and MCP entry points (workflow API rate limits are separate from messaging abuse caps).