feat(slack): add new tools and user selectors#3420
Conversation
PR SummaryMedium Risk Overview Slack block UX and parameter mapping updated to expose these operations, add Slack Behavioral tweak: workflow execution logging/branching now treats “executing from chat” strictly as Written by Cursor Bugbot for commit 1673fc0. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR adds four new Slack tools ( Key concerns:
Confidence Score: 2/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant UI as Slack Block UI
participant Block as slack.ts (config)
participant Registry as tools/registry.ts
participant Tool as Slack Tool
participant API as Slack API
UI->>Block: operation = get_channel_info
Block->>Registry: resolve → slack_get_channel_info
Registry->>Tool: slackGetChannelInfoTool
Tool->>API: GET conversations.info?channel=C123
API-->>Tool: { ok: true, channel: {...} }
Tool-->>UI: channelInfo object
UI->>Block: operation = get_user_presence
Block->>Registry: resolve → slack_get_user_presence
Registry->>Tool: slackGetUserPresenceTool
Tool->>API: GET users.getPresence?user=U123
API-->>Tool: { ok: true, presence: "active" }
Tool-->>UI: presence (+ null detail fields for non-self)
UI->>Block: operation = edit_canvas (insert_at_end)
Block->>Registry: resolve → slack_edit_canvas
Registry->>Tool: slackEditCanvasTool
Tool->>API: POST canvases.edit { canvas_id, changes:[{operation}] }
API-->>Tool: { ok: true }
Tool-->>UI: "Successfully edited canvas"
UI->>Block: operation = edit_canvas (rename) ❌
Block->>Registry: resolve → slack_edit_canvas
Registry->>Tool: slackEditCanvasTool
Tool->>API: POST canvases.edit { changes:[{operation:"rename"}] }
API-->>Tool: { ok: false, error: "invalid_arguments" }
Tool-->>UI: Error thrown
UI->>Block: operation = create_channel_canvas
Block->>Registry: resolve → slack_create_channel_canvas
Registry->>Tool: slackCreateChannelCanvasTool
Tool->>API: POST conversations.canvases.create { channel_id }
API-->>Tool: { ok: true, canvas_id: "F123" }
Tool-->>UI: canvas_id
Last reviewed commit: 1673fc0
|
|
@cursor review |
|
@greptile |
…hat guard (#3419) * fix(chat): use explicit trigger type check instead of heuristic for chat guard * fix(chat): remove heuristic fallback from isExecutingFromChat Use only overrideTriggerType === 'chat' instead of also checking for 'input' in workflowInput, which can false-positive on manual executions with workflow input. * fix(chat): use isExecutingFromChat variable consistently in callbacks Replace inline overrideTriggerType !== 'chat' checks with !isExecutingFromChat to stay consistent with the rest of the function.
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Provide required output fields on error path to match SlackCanvasResponse type. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The error field belongs on ToolResponse, not inside the output object. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
Type of Change
Testing
Tested manually
Checklist