Skip to main content
Travel concierge that needs to know a requester’s preferences before it drafts an itinerary. Uses UserFeedbackTools so the LLM can call ask_user with structured questions. Slack renders the questions as Checkboxes (multi-select) or a StaticSelect (single) inside a TaskCard, and the selections flow back into the agent run when Submit is pressed. Wikipedia + web search tools give the agent real destination grounding.
hitl_user_feedback.py

Run the Example

1

Set up your virtual environment

2

Install dependencies

3

Export environment variables

4

Configure Slack

Complete Slack setup: create and install the app, expose the server through public HTTPS, and add the scopes listed in the example. The default event request URL is <public-url>/slack/events; HITL examples also use <public-url>/slack/interactions for interactivity. Use any custom prefix shown in the example instead of /slack.
5

Run the example

Save the code above as hitl_user_feedback.py, then run:
Full source: cookbook/05_agent_os/interfaces/slack/hitl_user_feedback.py