Skip to content

Slack tools stop asking the agent for the token - #11

Merged
fforres merged 1 commit into
skywardfrom
fix/slack-openapi-token-param
Oct 5, 2026
Merged

fforres merged 1 commit into
skywardfrom
fix/slack-openapi-token-param

Conversation

@fforres

@fforres fforres commented Oct 5, 2026

Copy link
Copy Markdown

What users saw

Tools from a Slack Web API integration (added from the apis.guru Slack spec) asked the agent for a token argument on every call. Agents do not have the token, so calls either failed validation (Instance does not have required property "token") or reached Slack with a wrong token and came back invalid_auth, even though the integration's connection held a valid credential.

Cause

The published Slack specs predate header auth. They declare the credential as an ordinary token input on all operations: a query or header parameter on 155 operations and a form field on 15 (required on 11). Executor turns those into tool arguments, so the caller is asked for the credential the connection is supposed to supply.

Change

  • New slack-web-api spec format adapter (@executor-js/plugin-openapi/providers/slack), detected from the apis.guru slack.com and slackapi/slack-api-specs URLs. It removes the token parameter and form field (and its required entry) when the spec is loaded. The connection's credential, sent as an Authorization header, becomes the only one.
  • Registered next to the Google and Microsoft adapters in every host.
  • Existing integrations pick it up on refresh ("Re-fetch the spec on save"), because the adapter is matched by the stored spec URL. Auth templates and connections are unchanged.
  • Tests: URL detection, and the stripped output for query, header, and form-body tokens. Against the real apis.guru 1.7.0 spec the 170 token inputs drop to 0.

Not changed

The spec's OAuth endpoints are still Slack's legacy v1 ones. Connections already made keep working; that is separate from this fix.

The published Slack Web API specs declare the credential as an ordinary
`token` input on every operation. Each generated tool therefore required
the caller to supply a token and sent it in the query or form body, which
Slack rejects for current apps, so calls failed with a schema error or
invalid_auth even when the connection held a valid credential.

A slack-web-api spec format adapter, detected from the apis.guru and
slackapi spec URLs, drops the `token` parameter and form field when the
spec is loaded. The connection's credential, sent as an Authorization
header, is then the only one. Existing integrations pick it up on refresh.
@fforres
fforres merged commit bfc907c into skyward Oct 5, 2026
4 of 40 checks passed
@fforres
fforres deleted the fix/slack-openapi-token-param branch October 5, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant