Get pending approvals
get_pending_approvalsEach pending row is bucketed by action-type category exactly as the page groups
them: LinkedIn connection requests / messages / follows / post engagement, emails,
gifts, Instantly handoffs, and manual actions. Same-post
comment+reaction rows collapse into one engagement item, matching the page.
A gift item carries the order its card shows (product_url, max_price_usd,
shipping_address, with the note as its summary) and an error; the user
completes any missing piece on the card before approving it. max_price_usd is the
most the item may cost including tax and shipping; approving charges the owner's card
for gifts the order's actual total, at most max_price_usd, plus about $3.30 + 2.9% in
fees on top. error is blank
unless the user approved the card and the order was refused: it then gives the
reason, and the card waits for the user to fix the order and approve it again.
recipient_entered_address is true when the prospect entered shipping_address on a gift
link the user sent; the user's approval then orders the gift to it.
owner_has_gift_card is false when the agent's owner has saved no card for gifts;
approving then orders nothing until the owner adds one under Settings → Billing.
An instantly item is a prospect a campaign flow's Instantly step hands to an Instantly
campaign once the user approves it; its summary gives their address and the Instantly
campaign's id. A LinkedIn, email or instantly item may carry hold_reason, why it's held
beyond the user's approval settings, and teammate_contacts, each teammate who tracks the
person, has queued outreach to them, or has contacted them through Sliq, as its state says.
A LinkedIn or email item whose send waits for the user's working hours on the prospect's clock
carries prospect_hours: that timezone, and the hours the send can go out there (inside both
the user's hours and the prospect's) as start_minute/end_minute past midnight there. Without
it, the send keeps to the user's own hours.
Sequence-produced items (LinkedIn, email, and a manual, gift or Instantly step queued by its
flow node) carry node_id/node_label naming the campaign-flow node that
authored them — null for items created outside a sequence.
A manual item also carries completion_criteria: how to advance the prospect once
the user reports what they did. Cross-agent for the owner; for one agent's items,
pass agent_id, and for one step of its flow, also pass that step's bucket and
keep the items carrying its node_id.
Bounded by default so an approval-gated campaign holding thousands of drafts
doesn't return every full message. The default gives per-bucket/per-agent counts
plus a short preview per bucket (first few items); pass bucket to page that one
bucket's full item list. A bucket's preview_truncated (or count exceeding the
preview) tells you to drill in.
By default (no bucket), a dict
{'pending': {'total': int, 'buckets': [{'bucket', 'title', 'count', 'preview_truncated': bool, 'agents': [{'agent_id', 'agent_title', 'count'}], 'preview': [item, ...]}]}, 'recently_resolved': {'window_days': int, 'total': int, 'items': [...]}}. The preview holds the
bucket's first few full items. Recently-resolved lists only rows with a
transition timestamp — manual done/dismissed, LinkedIn/email sent;
cancelled or rejected drafts don't appear there.
Drill-down (bucket set): {'bucket', 'title', 'count', 'offset', 'limit', 'truncated': bool, 'items': [item, ...]} — full-text items, newest-first;
count is the whole bucket, truncated means more beyond this page (re-call
with offset += limit).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_pending_approvals"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bucket | No | Drill into one bucket for its full-text items, paged. One of 'email', 'linkedin_invite', 'linkedin_message', 'linkedin_follow', 'engagement', 'gift', 'instantly', 'manual'. Omit for the bounded counts+preview. | |
| offset | No | Rows to skip in drill-down mode (default 0); re-call with `offset += limit` while `truncated` is true. Ignored without `bucket`. | |
| agent_id | No | Scope every section to one agent's items. Omit for every agent. | |
| on_behalf_of | No | A teammate's email, or an agency client's from list_agency_clients, to run this call in that account: their agents, settings, connected accounts, and credits. Omit it to act on your own account. | |
| resolved_within_days | No | Recency window for the recently-resolved section (default 7). Only used in the default (no-`bucket`) mode. |