Read-only inspector for workspace integrations. Operations: "list" enumerates the registered providers (currently slackbot, hubspot, gmail, googledocs, notion, confluence, salesforce, prodege) with connection status, a description and has_tools; "connect" returns a setup URL the user opens in a browser to complete OAuth, or, for providers connected with customer-issued keys (prodege), a page where the user pastes those keys; "search_tools" returns the available action slugs (e.g., SLACKBOT_SEND_MESSAGE, HUBSPOT_SUBMIT_FORM, GMAIL_SEND_EMAIL) for a connected provider that has tools.
Behavior:
- Read-only. Does NOT itself perform OAuth — "connect" just hands a setup URL back so the user can finish the connection in the web app. An already-connected provider still returns the setup_url: that page is also where the user reconnects with a different account (e.g. another Gmail sender).
- Never ask the user for API keys or secrets in chat — they are only ever entered on the setup_url page. Share the link and ask the user to reply "Done" once saved.
- Errors when the workspace is not found or you do not have access.
- has_tools: false marks providers with nothing to search or automate. Panel providers (prodege) are such: the connection only sends participants back to the panel when a conversation ends, configured in the perspective's outline by the design agent (perspective_create / perspective_update). Do not call search_tools for them; it returns no tools either way.
- Panel routing requires the panel connected first: when the user says participants come from a panel, check "list", and if the panel is not connected, run "connect", share the setup_url and wait for "Done" before creating or updating the perspective.
- search_tools returns success: false with "No active <provider> connection. Use 'connect' operation first." when the provider is not connected. Limit is 10 tools per search.
- Required params per operation: connect needs provider; search_tools needs provider and query. MCP schema validation rejects missing or unrelated operation arguments before execution; the handler retains equivalent errors for non-MCP callers.
When to use this tool:
- Checking which integrations the workspace has connected before configuring an automation that talks to one of them, or before designing a perspective that routes participants back to a panel.
- Surfacing the setup URL to the user when they want to connect a provider.
- Discovering action slugs to populate provider-backed automations.
When NOT to use this tool:
- Creating or modifying automations — use automation_create / automation_update after the provider is connected.
- Sending a real message to test a provider wiring — create the automation first, then run automation_test.
Examples:
- List: `{ "operation": "list" }`
- Connect: `{ "operation": "connect", "provider": "slackbot" }`
- Search: `{ "operation": "search_tools", "provider": "hubspot", "query": "create contact" }`