Skip to content
Squadmates

Source available. Runs in your AWS account.

Your AI team should look like a team.

Squadmates puts a squad of AI teammates in Slack. Recruit as many as the work needs. Each one gets its own @handle, one job, an owner, and only the access it needs.

Built on Deployments.ai, the source-available agent platform.

Recruit a teammate

4 teammates, 1 paused

Job presets

Pick a job or type one, then press Recruit. Flip a switch to pause.

  • @triage

    Support escalations

    Can read
    Threads it is mentioned in
    Can remember
    Nothing between threads
    Can do
    Draft replies
    Must ask
    Nothing. It has no tools.
    Cannot access
    Anything not on the card
    DOOwnerReady
  • @release

    Summarizes merged changes for #releases

    Can read
    Threads it is mentioned in
    Can remember
    Nothing between threads
    Can do
    Draft replies
    Must ask
    Before posting outside its thread
    Cannot access
    Anything not on the card
    MLOwnerPaused
  • @onboarding

    Answers new-hire questions from the handbook

    Can read
    Its threads, the handbook
    Can remember
    Named space: new hires
    Can do
    Draft replies
    Must ask
    Before posting outside its thread
    Cannot access
    Anything not on the card
    PSOwnerReady
  • @dealdesk

    Drafts quote and discount requests

    Can read
    Threads it is mentioned in
    Can remember
    Nothing between threads
    Can do
    Draft replies
    Must ask
    Before any write to another system
    Cannot access
    Anything not on the card
    RKOwnerReady

@release is paused. Only you can see this.

Audit logmessage text not stored

  1. 09:14:07#support-escalationsdana → @triageforwardedmessage text not stored
  2. 09:15:02#support-escalationssam → @releasepausedmessage text not stored

How it works

From job description to teammate.

  1. Recruit.

    Name the job and the owner. Squadmates creates the teammate, its Slack handle, and its agent deployment.

  2. Scope.

    Fill in its permission card: what it can read, what it can remember, what it can do, and what it must ask before doing.

  3. Mention.

    People @mention it in channels an admin approved. Messages that don't mention a teammate are ignored.

  4. Oversee.

    Every routing decision lands in the audit log, without the message text. Pause any teammate with one switch.

Example thread in #support-escalations

  1. Priya Nair, 08:41: Morning. Overnight queue is handed over: two refund requests waiting on finance, nothing urgent.
  2. Marcus Webb, 08:47: Thanks, I'll take the refunds. Has anyone else seen password reset emails arriving late?
  3. Sam Lee, 08:52: One came in about ten minutes late this morning. I'll keep an eye on it.
  4. Squadmates, app, 09:02: Dana Ortiz recruited @triage. Job: support escalations. Owner: Dana Ortiz.
  5. Squadmates, app, 09:03: @triage can read the threads it is mentioned in, remembers nothing between threads, drafts replies, and has no tools.
  6. Dana Ortiz, 09:14: @triage Acme says checkout has been failing since 09:00 ET. Three tickets so far, all card payments.
  7. Triage, teammate, 09:14, in thread:
    • Summary: Card checkout failing for Acme since 09:00 ET.
    • Customer/account: Acme
    • Impact and severity: Sev2. Payments blocked for one customer, workaround unknown.
    • Evidence in thread: Three tickets, all card payments.
    • Missing information: Error message or code? Other customers affected? Any deploy since 08:30?
    • Suggested owning team: Payments
    • Next step: Confirm scope with a second customer, then page Payments on-call.
  8. Audit log: 09:14:07 #support-escalations dana → @triage forwarded message text not stored
  9. Sam Lee, 09:15, in thread: @release what shipped since 08:30?
  10. Only visible to you: @release is paused. Only you can see this.
  11. Audit log: 09:15:02 #support-escalations sam → @release paused message text not stored

Oversight

Every teammate has a permission card.

One job. One identity. Only the access it needs. A teammate's name, icon, or instructions never grant access. Access lives in policy that an admin controls.

@triage

Support escalations

Can read
Threads it is mentioned in
Can remember
Nothing between threads
Can do
Draft replies
Must ask
Nothing. It has no tools.
Cannot access
Anything not on the card
DOOwnerReady

Approved conversations only.

Connecting Slack turns nothing on. An owner or admin activates each conversation.

Pause any teammate.

A paused teammate stops answering and its credential is revoked. Anyone who mentions it gets a private notice.

Audit without transcripts.

Each routing decision records who asked which teammate, where, and what happened. Message text is never stored.

Approval before action.

Tools marked sensitive pause the run until a person approves that exact call.

Roles that match your org.

Owners and admins recruit and change teammates. Members can see the whole roster.

Releases, not edits.

Every teammate is a versioned release. Canary a change, roll it back, and conversations already in flight keep the version they started on.

Your AWS

No new vendor
in your data path.

Squadmates is source available and deploys with OpenTofu into an AWS account in your organization. Conversations, credentials, and audit logs stay in that account. Your security team reviews the code, not a vendor questionnaire.

  • AWS bills you directly for infrastructure. No markup.
  • Model calls go to Amazon Bedrock in your account, or to OpenAI or OpenRouter on your own keys.
  • Secrets live in a KMS-encrypted vault and never reach a browser or a model.

How a mention travels from Slack into your AWS account:

  1. Outside your AWS account: Slack workspace, with channels #support-escalations (@triage), #releases (@release), #new-hires (@onboarding). Approved conversations only.
  2. Arrow from the Slack workspace into your AWS account, to the Squadmates app.
  3. Squadmates app: API on AWS Lambda, Amazon SQS queues, Postgres, AWS Secrets Manager. Its routing gate checks each mention:
    1. Approved conversation?
    2. Mentions one teammate?
    3. Teammate paused?
    Example mentions and what the gate did:
    • In #support-escalations, dana mentions @triage: forwarded.
    • In #support-escalations, lee mentions no teammate: ignored.
    • In #releases, sam mentions @release: private notice.
    • In #random, kim mentions @dealdesk: ignored.
  4. Arrow from the Squadmates app to the Deployments.ai runtime.
  5. Deployments.ai runtime: Agent workers on Amazon ECS, Amazon DynamoDB, AWS KMS vault, Model gateway.
  6. Arrows from the model gateway to the models: Amazon Bedrock (in your account), OpenAI (your keys), OpenRouter (your keys).
  7. Conversations, credentials, and audit logs stay in this account.
Fig. 1How a mention reaches a teammate inside your AWS account.

Platform

Built on Deployments.ai.

Every Squadmates teammate is a Deployments.ai agent. You define it as a manifest, publish an immutable release, and deploy it into an environment. The same runtime serves Slack, the API, email, and webhooks. Squadmates is the reference app for the platform, so everything it does, you can build.

  1. Define
  2. Release
  3. Deploy
  4. Run
Explore Deployments.ai
@triageSupport escalations

Permission cardPolicy ref

Platform manifest excerptagent.json

{  "apiVersion": "agents.deployments.ai/v1",  "kind": "Agent",  "metadata": {    "key": "squadmates.triage",    "name": "Squadmates Triage",    "version": "1.0.7"  },  "spec": {    "capabilities": { "tools": [] },    "memory": { "mode": "off" },    "sandbox": { "mode": "none" },    "triggers": ["api", "chat"]  }}

Outside the manifest

admin policy

everything else

Fig. 2Permission card for @triage, cross-referenced to its Deployments.ai manifest.Hover, tap, or focus a row to trace it.

Pricing

Run it your way.

Community

Self-host

Free to self-host. Source available.

Install the Deployments.ai platform in your AWS account, then deploy Squadmates next to it with OpenTofu 1.13.1. You also need Bun, Go, a PostgreSQL database, a Cloudflare zone, and a paid Slack workspace or Microsoft Teams. The quickstart walks through every step.

FSL-1.1-ALv2. Each release becomes Apache 2.0 two years after it is published.

Terminal
git clone https://github.com/Agentifiers/squadmatescd squadmatesbun install --frozen-lockfile
Read the quickstart

By Agentifiers

Featured

White-glove install

We install it in your AWS account.

Agentifiers sets up Squadmates and the Deployments.ai platform in an account in your AWS Organization, connects your Slack workspace, recruits your first teammates with you, and hands over the keys. You own the account and the data, and you get the full source.

  • AWS account and scoped IAM roles
  • Platform and Squadmates deployed with OpenTofu
  • Slack connected and first conversations approved
  • First teammates recruited with permission cards
  • Handover to your team

Fixed scope, invoiced.

Book an install

Subscribe

Managed

We run it. You subscribe.

Squadmates hosted and operated by us, so your team can recruit teammates without running infrastructure.

Invite-only while we onboard early teams.

Request access

Invoice only. With a self-host or white-glove install, AWS bills infrastructure to you with no markup, and model providers bill on your keys.

FAQ

Questions, answered.

What license is Squadmates under?

Squadmates and the Deployments.ai platform underneath it are source available under the Functional Source License (FSL-1.1-ALv2), a Fair Source license. You can read the code, self-host it, and change it for your own use, including inside your business. You cannot offer it to others as a competing product or service, and reselling or white-labeling it needs a commercial license from Agentifiers. Each release becomes Apache 2.0 two years after it is published.

How many teammates can we have?

As many as the work needs. Each teammate is its own agent deployment with its own handle, owner, and permission card. Recruit, pause, or retire them at any time.

Does it read every message in our channels?

No. It acts only in conversations an owner or admin approved, and only on messages that mention it or one of its teammates. In a direct message, every message goes to it.

Where does our data live?

With a self-host or white-glove install, in your AWS account. With a managed plan, in an AWS account we run for you. The audit log records routing decisions without message text.

Which models does it use?

The ones your install allows: Amazon Bedrock in your account, OpenAI, or OpenRouter, through the platform's model gateway. Provider keys live in the vault, never in a teammate's manifest.

Does it work with Microsoft Teams?

Slack comes first. The codebase also includes a Microsoft Teams connection with the same activation and routing rules.

Who is Agentifiers?

Agentifiers builds Squadmates and Deployments.ai and runs white-glove installs, so you get AI teammates without adding a SaaS vendor to your data path.

What does it cost?

Self-hosting is free under the source license. White-glove installs are fixed scope and invoiced. For managed plans, ask us for a quote.