feat(blog): add Slack Trigger and AI Agent blog post#4535
feat(blog): add Slack Trigger and AI Agent blog post#4535
Conversation
Covers Slack App setup, OAuth scopes, Event Subscriptions, Kestra Slack Trigger flow with Gemini, and extension to autonomous AIAgent with DockerMcpClient for Kestra MCP tools. Co-Authored-By: Paperclip <noreply@paperclip.ing>
☁️ Cloudflare Worker Preview Deployed!🔗 https://ks-blogs-slack-trigger-agent-docs.kestra-io.workers.dev |
🔦 Lighthouse BenchmarkLast updated: 2026-04-09T16:02:56
Scores (0–100, higher is better)
Core Web Vitals (lower is better)
Legend▲ improved · ▼ regressed · (blank) no significant change |
| ### Event Subscriptions | ||
|
|
||
| Under **Event Subscriptions**, enable the feature and set the **Request URL** to your Kestra webhook endpoint: | ||
|
|
||
| ``` | ||
| https://<your-kestra-host>/api/v1/<tenant>/executions/webhook/<namespace>/<flow-id>/<webhook-key> | ||
| ``` | ||
|
|
||
| For local development with [ngrok](https://ngrok.com/), it looks like: | ||
|
|
||
| ``` | ||
| https://df36-195-68-39-198.ngrok-free.app/api/v1/main/executions/webhook/company.team/slack_agent/my_key | ||
| ``` | ||
|
|
There was a problem hiding this comment.
This comes before you even have a flow in Kestra. Could make sense to add the flow, then go back to Slack's API dashboard
There was a problem hiding this comment.
Using the Copy URL button would be nice but it doesn't work at the moment
| - **Get execution status** — check whether a run succeeded or failed | ||
| - **Trigger an execution** — kick off a flow with specific inputs | ||
|
|
||
| When a team member types `@kestra-bot show me the last 5 failed executions in company.analytics`, the agent calls the appropriate MCP tool, gets the data, formats it conversationally, and posts the answer back to Slack. All of this happens inside a single Kestra execution — fully observable, with logs you can inspect in the Kestra UI. |
There was a problem hiding this comment.
I don't think it can handle execution state?
| When a team member types `@kestra-bot show me the last 5 failed executions in company.analytics`, the agent calls the appropriate MCP tool, gets the data, formats it conversationally, and posts the answer back to Slack. All of this happens inside a single Kestra execution — fully observable, with logs you can inspect in the Kestra UI. | |
| When a team member types `@kestra-bot show me the last 5 executions in company.analytics`, the agent calls the appropriate MCP tool, gets the data, formats it conversationally, and posts the answer back to Slack. All of this happens inside a single Kestra execution — fully observable, with logs you can inspect in the Kestra UI. |
|
Video based on this blog post: https://youtu.be/QvBkoJ8kOds First of a mini series |
Covers Slack App setup, OAuth scopes, Event Subscriptions, Kestra Slack Trigger flow with Gemini, and extension to autonomous AIAgent with DockerMcpClient for Kestra MCP tools.