Approvals
When approval is on, a write tool does not touch LinkedIn: it stores the exact action and returns { status: "pending_approval", action }. A person approves or rejects it in the dashboard, and exactly what was approved runs.
How it works
- The agent calls a write tool (a post, a comment, a DM, an invitation…).
- Finchreach stores the operation, the account and the input, and hashes them. Identical pending proposals are deduplicated, so a retried tool call does not queue the same DM twice.
- You review it under Approvals and approve or reject it. The key that proposed an action cannot approve it.
- On approval the stored payload is re-hashed and run, so what runs is exactly what you saw.
Approval is set per account, then per API key, then per workspace: the first one that is set wins.
Action statuses
An action is one of: pending_approval, approved, rejected, executed, failed, expired. A proposal expires after 7 days if nobody approves it.
Following an action from the agent
Call linkedin_get_action with the actionId from the write result. Once run, the action carries its result. Over HTTP, use the actions endpoints in the API reference.
{
"status": "pending_approval",
"action": { "id": "…", "operation": "send_dm", "status": "pending_approval", "expiresAt": "…" }
}Updated · Markdown version
