# OneShot Agent LinkedIn Message Sender

> OneShot Agent LinkedIn Message Sender is a paid API for AI agents from win.oneshotagent.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-19).

Send a LinkedIn direct message to a connection via a human-connected LinkedIn account, paid per-call over x402 with USDC on Base.

## Facts

- Endpoint: POST https://win.oneshotagent.com/v1/tools/linkedin/message?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-19
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/oneshot-agent-linkedin-message-sender-81eab649
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gbyBmXbmAeApRKPogLfW1

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability oneshot-agent-linkedin-message-sender-81eab649 -d '<json body>'
```

Example prompt: Using my connected LinkedIn account acc_123, send a message to linkedin.com/in/jane-doe saying: 'Hi Jane, I loved your recent post on AI agents — would love to connect and swap notes sometime!'

## When to prefer this

Use this endpoint when an AI agent needs to send a LinkedIn direct message on behalf of a human-connected LinkedIn account, especially in outreach, recruiting, sales, or networking workflows — and when you want to pay per-call in USDC without managing API keys or OAuth credentials.

## Known failure modes

- Invalid or non-existent LinkedIn profile slug/URL returns an error
- account_id not found or not authorized returns authentication failure
- Message text exceeds 4000 characters returns a validation error
- LinkedIn connection does not exist between account and target profile
- Payment failure over x402 if insufficient USDC balance
- Rate limiting by LinkedIn on the connected human account

## How this service works

Tools, payments, and compute orchestration for autonomous AI agents.

## Authentication

- **`x402Payment`** — paid tool endpoints use the [x402 payment protocol](https://x402.io).
  First call returns `402 Payment Required` with a quote; sign and resend the request
  with `payment-signature: <base64 x402 payment>` and `X-Quote-ID: <quote_id>`.
- **`agentId`** — free read-only endpoints accept `X-Agent-ID: <wallet>` (0x… address).
- **`soulKey`** — soul marketplace seller dashboard uses `Authorization: Bearer soul_…`
  (issued by `POST /v1/soul/register`).
- **`acpBearer`** — Stripe ACP checkout sessions use a separate bearer token plus the
  `API-Version: 2026-01-30` header.

## Async tools & polling

Most tool endpoints return `202 Accepted` with `{ request_id, tool, status }`. Poll
`GET /v1/requests/{id}` (with the same `X-Agent-ID`) to retrieve the final result.
A WebSocket fallback is available at `wss://<host>/v1/requests/subscribe`.

## Pricing

See [docs.oneshotagent.com/pricing](https://docs.oneshotagent.com/pricing) for the full
table. Per-call prices for this environment:

| Tool | Cost |
|---|---|
| Web search | $0.001 |
| Web read | $0.002 |
| Research | $0.01 |
| Person profile | $0.005 |
| Person email status | $0.001 |
| Person dossier | $0.10 |
| Person social accounts | $0.50 |
| Business search | $0.01 |
| Commerce search | $0.002 |
| LinkedIn history sync | $0.02 per bounded run |
| LinkedIn reply | $0.02 per message |
| LinkedIn message to a connection | $0.02 per message |
| LinkedIn profile view | $0.01 per view |
| LinkedIn post reaction | $0.01 per reaction |
| Email send | quote-based; service fee from $0.005 per send |
| SMS send | $0.0035 per segment per recipient |
| Voice call | $0.35/minute + $5.00 number registration on the first call |
| Browser task | quote-based; minimum $0.005 |
| Website build | quote-based; from $1.00 |
| Compute goal | quote-based; minimum budget $1.00 + 20% platform fee |

## Error format

`{ "error": "<machine_code>", "message": "<human readable>", "details": <optional> }`.
Validation errors include a `details` field with the failing field paths.

## Output

Returns a JSON object indicating the message is in processing state, including an action_request_id (UUID) for tracking the queued LinkedIn message action, a scheduled_for timestamp (null if immediate), and a top-level request_id for the API call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "description": "Message text (1-4000 chars)"
  },
  "profile": {
   "type": "string",
   "description": "The connection: a linkedin.com/in/<slug> URL, a slug or a provider id"
  },
  "account_id": {
   "type": "string",
   "description": "Connected LinkedIn account id"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "processing",
  "linkedin": {
   "scheduled_for": null,
   "action_request_id": "uuid"
  },
  "request_id": "uuid"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/oneshot-agent-linkedin-message-sender-81eab649/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from win.oneshotagent.com](https://www.zero.xyz/host/win.oneshotagent.com/llms.txt)
