How to connect Goose to LinkedIn, step by step
Create an API key at finchreach.com/api-keys, connect LinkedIn at finchreach.com/accounts, then add https://mcp.finchreach.com/mcp to Goose with the header Authorization: Bearer lk_…. Test with a read, and approve the first draft under Approvals. One caveat: header support comes from Goose’s code and partner guides; the official docs only describe OAuth so far.
What you need
- A Finchreach account (sign in at finchreach.com) and the LinkedIn account you want Goose to work on.
- Goose.
- About five minutes.
Step 1: Create a Finchreach API key
- Sign in at finchreach.com and open API keys.
- Create a key and name it after the tool, for example “Goose”.
- Copy it right away: it starts with
lk_and is shown only once.
Step 2: Connect your LinkedIn account
- Open Accounts and click to connect LinkedIn.
- Follow the steps until the account shows as connected.
Approval mode is on by default: nothing the assistant drafts reaches LinkedIn until you approve it.
Step 3: Add Finchreach to Goose
- Desktop: Extensions → Add custom extension → type Streamable HTTP → URL
https://mcp.finchreach.com/mcp→ add a request headerAuthorizationwith the valueBearer lk_YOUR_KEY. - CLI:
goose configure→ Add Extension → Remote Extension (Streamable HTTP). Or edit~/.config/goose/config.yamlas below. - Start a session and ask Goose which Finchreach tools it has.
extensions:
finchreach:
name: finchreach
type: streamable_http
uri: https://mcp.finchreach.com/mcp
headers:
Authorization: Bearer lk_YOUR_KEY
enabled: true
timeout: 300Replace lk_YOUR_KEY with your key. Keep the key out of shared files and repos; where Goose can read it from an environment variable, prefer that.
Goose documents OAuth for remote extensions. Bearer header support comes from goose PR #3986 and a partner guide (Apify); the headers key in config.yaml isn’t in the official docs yet.
Step 4: Test the connection
In Goose, start with a read. It runs right away and proves the key and the account work:
Ask your assistant“List my connected LinkedIn accounts, then summarize my five latest notifications.”
You should see calls to linkedin_list_accounts and linkedin_get_notifications. Then try a write, which goes to your approval queue instead of LinkedIn:
Ask your assistant“Draft a short LinkedIn post saying I’m trying a new AI assistant workflow. Submit it for my approval.”
Step 5: Approve or reject it in Finchreach
- Open Approvals. The draft is there with its exact text and the account it would go out from.
- Approve it to publish, or reject it (reject the test post if you don’t want it live).
- Goose can check the result with
linkedin_get_action: pending, approved, rejected, executed, failed or expired.
Troubleshooting
- The
--with-streamable-http-extensionflag can’t pass headers; use the desktop form,goose configureor the config file. - If the YAML
headerskey is ignored in your version, add the extension from the desktop app. - 401 or “unauthorized”: the key is wrong, revoked or missing its prefix. Finchreach accepts
Authorization: Bearer lk_…orX-API-Key: lk_…; check for a missingBearer, quotes or a trailing space. - A tool is missing: the key’s permissions don’t include it. Create a key with the permissions you need under API keys.
- “No LinkedIn account”: connect one under Accounts, or reconnect it if its session expired.
- A post or message “didn’t go out”: it is probably still waiting under Approvals. Writes run only after you approve them.
Still stuck? Compare your setup with Goose’s documentation, checked on 2026-10-28; client screens change often.
What to ask Goose next
Ask your assistant“Summarize my LinkedIn notifications and messages from the past week.”
Ask your assistant“Draft a LinkedIn post from my notes in this folder.”
Ask your assistant“Send connection invitations with a short note to the people at companies on this list.”
More ideas on the Goose integration page.
Common questions
No, a key is shown only once. Create a new one under API keys, put it in your config, and revoke the old one.
No. Goose only gets your Finchreach API key. Your LinkedIn connection stays in Finchreach, and you can revoke the key at any time without touching LinkedIn.
Yes, but one key per tool (for example one named “Goose”) lets you revoke one without breaking the others.
Revoke its key under API keys; Goose gets a 401 from then on. Then remove the server from its config.
Third-party facts checked on against Goose docs.
