# How to connect Goose to LinkedIn, step by step

Source: https://finchreach.com/guides/goose
Third-party facts checked on 2026-10-28.

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](https://finchreach.com/sign-in)) and the LinkedIn account you want Goose to work on.
- Goose.
- About five minutes.

## Step 1: Create a Finchreach API key

1. Sign in at finchreach.com and open [API keys](https://finchreach.com/api-keys).
2. Create a key and name it after the tool, for example “Goose”.
3. Copy it right away: it starts with `lk_` and is shown only once.

## Step 2: Connect your LinkedIn account

1. Open [Accounts](https://finchreach.com/accounts) and click to connect LinkedIn.
2. 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

1. Desktop: Extensions → Add custom extension → type Streamable HTTP → URL `https://mcp.finchreach.com/mcp` → add a request header `Authorization` with the value `Bearer lk_YOUR_KEY`.
2. CLI: `goose configure` → Add Extension → Remote Extension (Streamable HTTP). Or edit `~/.config/goose/config.yaml` as below.
3. Start a session and ask Goose which Finchreach tools it has.

~/.config/goose/config.yaml:
```yaml
extensions:
  finchreach:
    name: finchreach
    type: streamable_http
    uri: https://mcp.finchreach.com/mcp
    headers:
      Authorization: Bearer lk_YOUR_KEY
    enabled: true
    timeout: 300
```

> Replace `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

1. Open [Approvals](https://finchreach.com/approvals). The draft is there with its exact text and the account it would go out from.
2. Approve it to publish, or reject it (reject the test post if you don’t want it live).
3. Goose can check the result with `linkedin_get_action`: pending, approved, rejected, executed, failed or expired.

## Troubleshooting

- The `--with-streamable-http-extension` flag can’t pass headers; use the desktop form, `goose configure` or the config file.
- If the YAML `headers` key 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_…` or `X-API-Key: lk_…`; check for a missing `Bearer `, 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](https://finchreach.com/api-keys).
- “No LinkedIn account”: connect one under [Accounts](https://finchreach.com/accounts), or reconnect it if its session expired.
- A post or message “didn’t go out”: it is probably still waiting under [Approvals](https://finchreach.com/approvals). Writes run only after you approve them.

Still stuck? Compare your setup with [Goose’s documentation](https://block.github.io/goose/docs/getting-started/using-extensions), 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](https://finchreach.com/integrations/goose).

## Questions

### I lost my API key. Can I see it again?

No, a key is shown only once. Create a new one under [API keys](https://finchreach.com/api-keys), put it in your config, and revoke the old one.

### Does Goose see my LinkedIn password?

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.

### Can I use the same key in several tools?

Yes, but one key per tool (for example one named “Goose”) lets you revoke one without breaking the others.

### How do I disconnect Goose?

Revoke its key under [API keys](https://finchreach.com/api-keys); Goose gets a 401 from then on. Then remove the server from its config.

## Sources

- [Goose docs](https://block.github.io/goose/docs/getting-started/using-extensions)

## Related

- [What Goose can do on LinkedIn](https://finchreach.com/integrations/goose)
- [Follow up on LinkedIn after an event with Goose](https://finchreach.com/blog/goose-linkedin-event-follow-up)
- [Quickstart and tools](https://finchreach.com/docs)
- [All setup guides](https://finchreach.com/guides)
