Chat
What this is
Hookshot™ Chat lets you talk directly to a Protege or to the built-in Hookshot responder inside Slack threads and Asana task comments by mentioning @hookshot.
When to use it
Use Chat when you want to:
Ask a question or give an instruction inside an existing Slack thread or Asana task
Get a response from Hookshot without creating a dedicated Protege
Continue a conversation where the work is already happening
What you need first
A connected Slack or Asana integration with chat enabled
A team-scoped chat connection in the integration settings
Steps
1. Enable chat on an integration
For Slack or Asana:
Open Integrations
Select the integration
Enable chat in the integration detail view
Confirm the chat connection is team-scoped and active
Chat connections are always team-scoped. They cannot be personal connections.
2. Invoke Hookshot in a conversation
In Slack or Asana, mention Hookshot to start a conversation:
Slack: Use
@hookshot,@hookshotdev, or@composioin a channel where the Slack bot is presentAsana: Include
@hookshot,@hookshotdev, or@composioin a task comment
Chat requires an explicit mention. Hookshot does not passively listen to all messages — it only responds when invoked.
3. Understand System Chat vs Protege Chat
Hookshot routes chat conversations to one of two targets:
System Chat
No specific Protege is bound to the conversation
Built-in Hookshot responder handles the message using standard AI tools
Protege Chat
A Protege is bound to the conversation
The Protege's skill, tools, and configuration drive the response
System Chat requires no setup beyond enabling chat on the integration. It is always available when chat is enabled.
4. Continue a conversation
After the first mention, subsequent messages in the same thread or task continue the conversation with the same target. You do not need to mention @hookshot again in follow-up messages within the same thread.
For Asana, follow-up comments that do not mention Hookshot are still processed if they are in a task where an active conversation binding exists.
5. Watch for in-progress indicators
When Hookshot is processing a chat message, you will see:
Slack: An
:eyes:emoji reaction appears on the triggering message while the response is being generatedAsana: A temporary comment reading "Hookshot is working on this..." appears and is automatically deleted once the response is posted
6. Review the response
The response appears as a reply in the same Slack thread or as a comment on the same Asana task. If the Protege uses a tool to post the message directly, the auto-reply is skipped to avoid duplicate posts.
You can verify chat activity in:
Event Feed: Shows the inbound chat event
Audit: Shows the chat run with tool usage and outcome
Chat configuration
Each integration with chat support has per-team configuration:
Enabled/disabled: Turn chat on or off for the team
Coverage mode: How Hookshot decides which conversations to monitor (currently
mention_anywhere)Response mode: How Hookshot replies (currently
reply_in_thread)
For Asana, you can select specific projects or portfolios for chat coverage. For Slack, confirm the correct channel boundary.
How chat routing works
A user mentions
@hookshotin Slack or AsanaHookshot receives the event via the connected integration
The chat routing layer checks if an existing conversation binding exists for this thread or task
If a binding exists: the conversation continues with the bound target (System Chat or a specific Protege)
If no binding exists: a new conversation is created with System Chat or the first eligible Protege
The target Protege runs, and the response is posted back to the thread or task
How to verify
Chat is enabled on the integration detail page
The chat connection shows as active and team-scoped
Mentioning
@hookshotin the target channel or task produces a responseThe response appears in the same thread or task
The run appears in Audit with
chatexecution mode
Common failures
Enabling chat but not confirming the chat connection is active
Expecting Hookshot to respond without an explicit
@hookshotmentionUsing a personal connection instead of a team connection for chat (chat connections must be team-scoped)
Mentioning Hookshot in a channel or project that is outside the configured coverage
Checking only Slack or Asana for the response without confirming the run completed in Audit
Next step
Last updated
Was this helpful?