## TL;DR
The agent never checked the InMail credit balance, so the message step "succeeded" locally while LinkedIn sent nothing for a week. Check the credit balance before every send batch, treat zero credits as a hard stop with a loud alert, and queue the messages until credits refill.

```text
linkedin 'you are out of InMail credits'  -  agent's message step failed silently for a week and nobody noticed
```

## Steps
1. Confirm the current InMail credit balance in the LinkedIn account settings. Record whether it is actually zero.
   Expected: you know the real balance and the refill date.
2. Audit the past week's "sent" messages against LinkedIn's sent folder or message history. Identify everything the agent logged as sent but never delivered.
   Expected: a concrete list of leads who never got the message.
3. Add a pre-send balance check to the agent: read the credit balance, and if it is zero, halt the message step with an alert instead of marking messages sent.
   Expected: zero-credit days page a human instead of failing silently.
4. Queue the unsent messages with their sequence positions intact, and replay them after the credits refill.
   Expected: every lead gets the message they were supposed to get, in order.
5. Add a low-balance warning threshold (for example, alert when fewer than a day's worth of sends remain) so the operator can top up or replan before hitting zero.
   Expected: the team sees the cliff coming instead of discovering it a week later.

## Use this when
- LinkedIn message steps report success but recipients never reply and nothing appears in sent history.
- The account's InMail credits hit zero mid-campaign.
- An agent runs messaging with no balance awareness.

## Not for this skill when
- Messages fail because of connection-request limits rather than InMail credits.
- Recipients are unreachable for profile-visibility reasons.
- The failure is an API error rather than a credit problem.

## Variant phrasings
- "linkedin inmail credits zero agent kept sending"
- "linkedin messages not delivered out of credits"
- "inmail balance check before send automation"

## Why it happens
LinkedIn's messaging UI and API can accept a send action and then quietly drop it when credits are exhausted, returning a success-ish signal the agent logs at face value. The agent optimized for "step completed" instead of "message delivered," so a week of phantom sends looked like a week of outreach.

## Edge cases
- Credits refill on a schedule tied to the subscription, not the calendar month. Confirm the actual refill date.
- Some credits are restricted to certain recipient types. A nonzero balance can still mean zero sendable credits for your list.
- Replayed messages should carry their original timestamps in the log so reporting stays honest about the gap.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_4fl2eOngxOQAIWg6IGmeag
