Skip to content

feat(blog): add Slack Trigger and AI Agent blog post#4535

Draft
Ben8t wants to merge 3 commits intomainfrom
blogs/slack-trigger-agent
Draft

feat(blog): add Slack Trigger and AI Agent blog post#4535
Ben8t wants to merge 3 commits intomainfrom
blogs/slack-trigger-agent

Conversation

@Ben8t
Copy link
Copy Markdown
Member

@Ben8t Ben8t commented Apr 9, 2026

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.

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>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

☁️ Cloudflare Worker Preview Deployed!

🔗 https://ks-blogs-slack-trigger-agent-docs.kestra-io.workers.dev
🔗

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

🔦 Lighthouse Benchmark

Last updated: 2026-04-09T16:02:56
Last commit: 52d3218

Tested: http://localhost:8787 on 2026-04-09 16:02 UTC
Compared against main baseline from 2026-04-09

Scores (0–100, higher is better)

Page Performance Accessibility Best Practices SEO
Home 66 ▲ +13 79 59 92
Pricing 98 88 59 100
Enterprise 94 78 59 100
Cloud 92 ▼ -3 83 59 100
About Us 100 ▲ +3 87 59 100
Docs Landing 84 ▼ -9 84 59 92
Contribute to Kestra (simple docs) 97 84 59 92
Flow (full featured docs) 84 ▼ -9 86 59 92
Blog Index 65 ▼ -18 86 59 100
Blog Post (sample) 87 ▼ -13 83 59 100
VS Page (sample) 91 ▼ -5 88 59 100
Plugins Landing 90 ▼ -4 77 59 92
Plugin Page (sample) 97 87 59 100
Plugin Debug Page (sample) 97 87 59 100
Plugin Debug Return Page (sample) 97 87 59 100
Blueprints Landing 93 77 56 ▼ -3 92
Blueprint Audit Logs CSV Export 64 ▼ -5 82 59 100

Core Web Vitals (lower is better)

Page LCP FCP TBT CLS Speed Index
Home 2.45 s ▼ 0.95 s ▲ 275 ms ▲ 0.000 4.42 s ▲
Pricing 1.04 s ▼ 0.58 s ▼ 83 ms ▼ 0.000 0.85 s ▲
Enterprise 1.55 s ▼ 0.71 s ▲ 57 ms ▲ 0.000 1.11 s
Cloud 1.85 s ▼ 0.48 s ▼ 34 ms ▲ 0.000 0.77 s ▲
About Us 0.73 s ▲ 0.54 s ▲ 47 ms ▲ 0.000 0.94 s
Docs Landing 2.62 s ▼ 0.64 s ▲ 104 ms ▲ 0.000 0.96 s ▲
Contribute to Kestra (simple docs) 0.96 s ▼ 0.57 s ▼ 118 ms ▲ 0.003 0.73 s ▲
Flow (full featured docs) 1.93 s ▼ 0.59 s ▲ 210 ms ▼ 0.000 1.14 s ▲
Blog Index 10.19 s ▼ 0.51 s 59 ms 0.001 22.18 s ▼
Blog Post (sample) 2.40 s ▼ 0.50 s ▼ 43 ms 0.000 0.62 s ▲
VS Page (sample) 1.72 s ▼ 0.54 s ▼ 122 ms ▲ 0.000 0.93 s
Plugins Landing 0.98 s ▲ 0.50 s ▲ 158 ms ▼ 0.000 2.23 s ▼
Plugin Page (sample) 0.96 s ▲ 0.52 s ▲ 37 ms 0.051 1.48 s ▼
Plugin Debug Page (sample) 0.93 s ▲ 0.47 s ▲ 72 ms ▼ 0.018 ▼ 1.56 s ▼
Plugin Debug Return Page (sample) 0.96 s ▼ 0.52 s ▼ 73 ms ▲ 0.025 1.53 s ▼
Blueprints Landing 1.36 s ▼ 0.75 s ▼ 65 ms ▲ 0.000 1.75 s ▼
Blueprint Audit Logs CSV Export 0.99 s ▲ 0.65 s ▼ 235 ms ▼ 0.536 2.24 s ▼
Legend

▲ improved  ·  ▼ regressed  ·  (blank) no significant change
Score threshold: ±3 pts  ·  Metric threshold: ±10% of baseline

Comment on lines +49 to +62
### 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
```

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the Copy URL button would be nice but it doesn't work at the moment

kestra-io/plugin-slack#41

- **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.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it can handle execution state?

Suggested change
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.

@wrussell1999
Copy link
Copy Markdown
Member

Video based on this blog post: https://youtu.be/QvBkoJ8kOds

First of a mini series

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.

2 participants