TARS
2025AI Engineering Assistant for Microsoft Teams
Creator & Maintainer
Why I built it
I was tired of constantly switching between tools just to get a picture of my day. I wanted a single assistant that could tell me how my team was doing — so I integrated Linear to track issues and sprint progress. I wanted visibility into my repositories and any open pull requests — so I integrated GitHub. I wanted someone to summarise my inbox and pull up meeting details without me having to open Outlook — so I integrated Microsoft Graph. And I didn't want to build a UI or manage an authentication flow on top of all that. A Microsoft Teams bot already lived where my team communicated, so that became the obvious interface.
What I built
I started by wiring a GPT-4o agent to the Microsoft Bot Framework so I could send natural-language messages inside Teams and get structured responses back. The core is an agentic loop — rather than a single prompt-to-response flow, the model decides which tools to call, in what order, and chains them until it has enough information to answer. I built three integration clients: a GraphQL client for Linear (issues, sprints, team management), a REST client for GitHub (PRs, commits, issues, code search), and an OAuth2 Microsoft Graph client for Outlook (inbox, email search, calendar). Each integration exposes a set of typed tool definitions that the model can invoke. Per-user conversation history keeps the context across a session, and the bot resolves references like "my issues" or "issues assigned to me" automatically using the Teams display name.
What it is today
TARS is a self-hosted Teams bot that serves as a unified engineering assistant for individual developers and small teams. It removes the need to context-switch between project management, version control, and communication tools by making them all queryable through conversation. You can ask things like "what's in the current sprint?", "show me open PRs waiting for review", "any unread emails from this morning?" or "what meetings do I have this week?" — and get live, accurate answers without leaving Teams.
The project is currently maintained and developed independently.
Future direction
TARS is built with extensibility in mind. Possible future directions include:
- Slack support — extending the same agent and integrations to a Slack bot interface
- Write-back actions — creating GitHub PRs, drafting and sending emails, or replying to threads directly from the chat
- Standup automation — generating a personalised daily standup summary from Linear and GitHub activity and posting it to a Teams channel on a schedule
- Expanded integrations — Jira, Confluence, PagerDuty, or any tool the team already uses
- Persistent memory — storing user preferences and recurring queries so TARS learns how each person works over time
These build naturally on the existing agentic foundation while keeping the system self-hosted, developer-controlled, and free of a dedicated UI.