Skip to content

fix(slack): allow empty status to clear the assistant status indicator#5827

Merged
TheodoreSpeaks merged 1 commit into
stagingfrom
fix/slack-set-status-empty-clear
Jul 22, 2026
Merged

fix(slack): allow empty status to clear the assistant status indicator#5827
TheodoreSpeaks merged 1 commit into
stagingfrom
fix/slack-set-status-empty-clear

Conversation

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator

Summary

  • slack_set_status declared status as required: true / user-or-llm, so the shared required-param validator (tools/utils.ts) treated an empty string as missing and threw "Status is required for Slack Set Assistant Status" — the empty-string-clear path documented in the tool's own description could never reach Slack
  • Made status non-required so an omitted or empty value passes validation. The request body builder already sends status: params.status ?? '', and Slack's assistant.threads.setStatus treats an empty status as "clear the status indicator"
  • Updated the param description and SlackSetStatusParams.status to match
  • Left the generic validator alone — empty-string-is-missing is correct for other tools; the fix is scoping this one param as optional. The Slack block's status subblock was already required: false

Note: the docs row in apps/docs/content/docs/en/integrations/slack.mdx is generated, but bun run generate-docs currently produces a broken result locally (truncates slack.mdx from 1873 to 15 lines, drops all MANUAL-CONTENT blocks, deletes the 13 *-service-account.mdx pages, and rewrites ~15 unrelated integration pages). I reverted that and hand-applied only the single table row a correct regen would emit. The generator looks like it is running against an incomplete registry — worth a separate look.

Type of Change

  • Bug fix

Testing

bun run type-check clean. vitest run tools/utils.test.ts serializer/tests/dual-validation.test.ts — 40 passed. bun run lint and bun run check:api-validation:strict pass.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jul 22, 2026 12:07am

Request Review

@cursor

cursor Bot commented Jul 22, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Scoped Slack tool metadata and types only; existing set-status behavior is unchanged when status is provided.

Overview
Fixes slack_set_status so workflows can clear the Slack assistant thread loading shimmer instead of failing validation when status is omitted or empty.

The tool had status marked required, so the shared validateRequiredParametersAfterMerge logic treated an empty string as missing and threw before the API call—even though the request body already sends status: params.status ?? '' and Slack clears the indicator on an empty status. status is now optional in the tool definition, SlackSetStatusParams, and the Slack integration docs, with copy that explains omitting or passing '' clears the status.

Reviewed by Cursor Bugbot for commit 024192e. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR allows Slack assistant status indicators to be cleared with an omitted or empty status.

  • Marks the tool's status parameter as optional.
  • Updates the TypeScript parameter type to allow omission.
  • Aligns the Slack integration documentation with the runtime behavior.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.
  • Shared validation now permits an omitted or empty status.
  • The request builder converts an omitted status to '', preserving the Slack clear-status request.
  • Runtime metadata, TypeScript types, and documentation remain aligned.

Important Files Changed

Filename Overview
apps/sim/tools/slack/set_status.ts Makes status optional while the existing request builder converts an omitted value to the empty string used to clear Slack status.
apps/sim/tools/slack/types.ts Updates SlackSetStatusParams.status to match the optional tool input.
apps/docs/content/docs/en/integrations/slack.mdx Documents that status is optional and can be omitted or passed as an empty string to clear the indicator.

Reviews (1): Last reviewed commit: "fix(slack): allow empty status to clear ..." | Re-trigger Greptile

@TheodoreSpeaks
TheodoreSpeaks merged commit e3f9deb into staging Jul 22, 2026
20 checks passed
@TheodoreSpeaks
TheodoreSpeaks deleted the fix/slack-set-status-empty-clear branch July 22, 2026 00:25
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