{"repo":"tomascupr/operant","free":true,"listed":false,"github":"https://github.com/tomascupr/operant","clone":"git clone https://github.com/tomascupr/operant.git","description":"Self-hosted agents in Slack and Teams on your infra. Per-user OAuth, per-human audit, RBAC, approvals, 2,500+ SaaS tools via Pipedream Connect. MIT-licensed control plane for OpenClaw.","language":"JavaScript","stars":47,"topics":[],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"Operant The MIT-licensed, self-hosted control plane for AI agents in Slack and Microsoft Teams: every action runs as the human who asked, not a shared bot, with per-user OAuth to 3,000+ tools. Hosted agents — now including Anthropic's Claude Tag — put one shared Claude in your channels that acts for everyone. Every employee's actions land in the audit log under \"the workspace did it.\" Operant doesn't. Each person finds the app they need, connects their own Gmail, Notion, GitHub, Linear, HubSpot, or other Pipedream account, and asks the agent to work right where they already are, in Slack or Microsoft Teams. The agent calls tools under that human's own connection, and every session, policy decision, and tool call names the person who triggered it. Quickstart One command — pulls the official images, generates fresh secrets, and boots the whole stack (Postgres + control plane + OpenClaw gateway): It writes a self-contained operant/ directory and prints your dashboard URL and admin login token when it finishes. Requires only Docker with the Compose v2 plugin — no checkout, no Node, no build. From source — for development, the sandbox overlay, and live acceptance: Sign in with the OPERANT ADMIN LOGIN TOKEN from your generated .env plus your Slack member ID or Microsoft Teams user ID. The Setup tab then walks you through credentials for Slack, Teams, or both, plus your model key. Create the Slack app from deploy/slack/manifest.yaml (see deploy/slack/README.md), and wire an Azure Bo","default_branch":null,"files":null,"tree":[],"storefront":"/r/tomascupr","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tomascupr/operant/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}