Tutorial 7 — Weather to Slack — A Two-Tool Chain¶
Time 4 min · Difficulty ★★★ · Surfaces Agentic Chat
Goal
Trigger a chain of two built-in tools (getWeather → sendSlackMessage) in a single chat turn. Watch the agent loop in action: plan → call tool A → read result → call tool B with that result → summarize.
This is the canonical "try an agentic workflow" task on the Home checklist. No Tool Studio authoring required — both tools are pre-loaded and already passed their Local Pass.
Slack webhook required
sendSlackMessage posts to whatever URL is in SLACK_WEBHOOK_URL. Set it in the desktop launcher's Environment Variables (or as a shell env var when running from source) before launching the app. Without it, the second tool call will fail and the chain breaks at step 2.
Steps¶
- In Agentic Chat, switch to a tool-capable model (
qwen3.5:latestworks;gemma4:latestchains more reliably for longer prompts) and enable the built-in MCP connection. -
Send this prompt verbatim:
Get today's weather for Seoul and send a short summary to Slack.
① MCP connection enabled — getWeather and sendSlackMessage are both in the inventory, ② one prompt that requires two tool calls in the right order.
-
Watch the chat stream:
- the assistant calls
getWeatherwithSeoul - the tool returns a compact weather payload
- the assistant reasons over the result and calls
sendSlackMessagewith a short natural-language summary - the assistant's final turn confirms the post
- the assistant calls
-
Open Slack and verify the message landed.
What to validate¶
- Two distinct tool calls in order, not one. The MCP TOOLS block in the trace should list both, with
getWeatherbeforesendSlackMessage. - The Slack message body is derived from the weather result — the agent is chaining, not guessing.
- If either tool fails, the failure surfaces in the chat with the tool name and error. The same failure would have blocked the tool from earning its Local Pass — so
sendSlackMessagefailing here means the webhook URL is wrong, not the tool itself.
Where to go from here¶
- Replace
sendSlackMessagewith a Tool Studio tool of your own. The moment it passes its Local Pass, it's live on the built-in MCP server and the chat can use it the same way. - Combine this flow with a RAG document — "summarize this policy document and post the summary to Slack" — and you've got Tutorial 6's composition phrased as a real task.