Set an Account's Sending Window
li_set_office_hoursThe hours during which this account does its own outgoing work. THREE things are gated by it: the invite drip, the scheduled Day-1/3/7/14 message drip (since 2026-09-08 — a canned follow-up landing in a live conversation at 3am is a worse signal than an overnight invite, not a better one), and the daily invite cleanup sweep. NOT gated, because a person pressing send at 23:40 means it: an ad-hoc message, a bulk send, and a reply sent from the inbox. So an invite or a scheduled follow-up due at 18:02 outside the window waits for the next opening, while a reply you send by hand goes immediately. Per account rather than global, so accounts in different geos behave correctly. end is EXCLUSIVE: 20 permits 19:59 and refuses 20:00. An end at or before the start is coerced to start+1 rather than stored, because hour >= start && hour < end is false for EVERY hour when end <= start, which would pause the account forever with nothing in the logs to say why. Read the current window with li_list_accounts.
PROSPECT-LOCAL WINDOWS (opt-in, per account): sendWindowMode account (default) is exactly the behaviour above. prospect gates the invite drip and scheduled steps by each CONTACT's timezone instead — invites inside prospectWindow.inviteStart–inviteEnd, steps inside messageStart–messageEnd, both local to the prospect, end exclusive, end <= start coerced the same way. both requires the account window AND the prospect window. A contact with no known timezone uses the account window in every mode, the daily cleanup always uses the account window, and ad-hoc/bulk/inbox sends stay ungated. An invite held longer than maxDeferHours (default 72) falls back to the account window so nobody waits for ever. Caps, pacing and every send check are unchanged. Recommended start: prospect mode, invites 8–11, messages 8–18, weekdaysOnly false. The reply carries a warning when both leaves many queued contacts with no overlapping hour.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Local end hour, EXCLUSIVE | |
| start | No | Local start hour, inclusive | |
| enabled | No | Turn the window on or off | |
| timezone | No | IANA zone, e.g. Asia/Kolkata. Null/omitted falls back to the account timezone. | |
| sessionId | No | Account id from li_list_accounts. Needed (or sessionLabel) when you have more than one account; never guessed. | |
| sessionLabel | No | Account by label, LinkedIn name, profile slug or member id (li_list_accounts). Needed (or sessionId) when you have more than one account; never guessed. | |
| prospectWindow | No | Prospect-local hours used by the prospect and both modes; omitted fields keep their stored values | |
| sendWindowMode | No | account (default): the account window gates everything; prospect: each contact's local window gates invites and scheduled steps; both: both must be open |