Slack Agent

Jarvis Docs

Complete guide to Jarvis — company knowledge, GitHub issues, scheduling, private notes, and document templates. All through Slack.

What Is Jarvis

Jarvis is Anatta's AI-powered internal assistant, available on Slack. Your go-to for company knowledge, IT help, HR policies, project tracking, reminders, and more — all through natural conversation.

Think of Jarvis as a teammate who has read every internal doc, knows every process, and is available 24/7.

TaskWithout JarvisWith Jarvis
"What's our leave policy?" Search Confluence, find the right page, read through it Ask Jarvis, get the answer in seconds
"How do I reset my Mac password?" Ping the IT team, wait for a response Ask Jarvis, get step-by-step instructions
"Log a bug about checkout crashing" Open GitHub, write the issue, tag the team Tell Jarvis, it creates the issue and notifies the team
"Remind me to follow up on Friday" Set a calendar reminder manually Tell Jarvis, it DMs you at the right time

Talking to Jarvis

Direct Messages

Open a DM with @Jarvis in Slack. Best for:

  • Sensitive questions (salary, personal docs)
  • Private knowledge searches
  • Personal reminders
  • Anything you wouldn't ask in a public channel

In Channels

Tag @Jarvis in any channel where the bot is invited. Jarvis always replies in a thread to keep the channel clean.

slack
@Jarvis what's the VPN setup process?

Mid-Thread

Already in a conversation? Tag @Jarvis in the thread — it reads the entire thread history for context before responding.

slack · #engineering
[Team discussing a deploy issue]
@Jarvis what does Theme Factory's deploy pipeline do when validation fails?

Jarvis reads the thread, understands the context, searches the knowledge base, and responds with relevant information.

First Interaction

The first time you message Jarvis, it auto-registers you:

  • Pulls your email and timezone from Slack
  • Sets you as a member (default role)
  • You're ready to go — no setup needed

Quick Tour

Ask About Company Knowledge

slack
You: what's our parental leave policy?

Jarvis: Anatta offers up to 4 weeks of paid parental leave for birth,
adoption, or foster care placement. Submit requests through HR at
least 30 days in advance.

Get IT Help

slack
You: my Mac is overheating, what should I do?

Jarvis: Here's the troubleshooting guide:
1. Check Activity Monitor for CPU-heavy processes
2. Reset SMC (Intel) or restart (Apple Silicon)
3. Clean vents and ensure proper ventilation
4. If persistent, contact IT at it@anattadesign.com

Set a Reminder

slack
You: remind me at 3pm to review the PR

Jarvis: Done — I'll remind you at 3:00 PM IST.

Save a Note

slack
You: remember that we decided to use Stripe for payments

Jarvis: Saved to your notebook.

Log a GitHub Issue

Channel restriction: GitHub tools work in AI team channels for regular users. Admins can use them from any channel.

slack · #engineering
You: log an issue: checkout page crashes when discount code has special characters

Jarvis: Created #158: "Checkout crash with special characters in discount code"
Notified the SHIELD team. One of the Avengers should get in touch with you soon.

What Jarvis Won't Do

Jarvis is strictly for Anatta work. It politely declines:

  • Personal coding projects ("write unit tests for my side project")
  • Homework or learning exercises
  • General AI assistant tasks ("write me a poem")
  • Anything unrelated to Anatta's work, tools, or processes
COMPANY KNOWLEDGE

Asking Questions

Just ask naturally. Jarvis figures out the right domain and searches for you:

slack
You: how do I request a new laptop?

Jarvis: Here's the process from the IT team:
1. Fill out the Laptop Request Form (link in the IT portal)
2. Get approval from your manager
3. IT team processes requests within 3-5 business days
4. Pickup from the Mumbai office or shipped to your address

Searching Specific Domains

If Jarvis picks the wrong domain, be explicit:

slack
You: search engineering knowledge for deploy pipeline
You: search hr for maternity leave
You: search it-infra for VPN setup

Knowledge Domains

DomainWhat's In It
engineeringCode architecture, Theme Factory, CI/CD, debugging guides
uxDesign system, Figma workflows, brand guidelines
sales-marketingSales processes, campaign materials, client onboarding
hrLeave policies, benefits, handbook, hiring, performance
it-infraMac setup, VPN, password resets, tool access, MDM
leadershipStrategy docs, OKRs, quarterly planning
cxoBoard materials, executive reports
generalCompany-wide policies, org-wide announcements

Adding Knowledge Sources

Anyone can suggest sources. Domain heads and admins can add them to shared domains.

Google Drive Folder

The most common source — point Jarvis at a Drive folder and it indexes everything inside. Subfolders are included automatically.

slack
You: add this Drive folder to it-infra knowledge:
     https://drive.google.com/drive/folders/1ABC123xyz

Jarvis: Added Google Drive folder to it-infra. Sync triggered —
        I'll DM you when it's done.

Google Docs

slack
You: add this doc to hr knowledge:
     https://docs.google.com/document/d/1ABC123/edit

Jarvis: Added "Employee Handbook 2026" to hr domain.

GitHub Repository

slack
You: add the docs folder from anattadesign/theme-factory to engineering

Jarvis: Added GitHub source — will index .md and .mdx files from docs/.

Confluence Wiki

slack
You: add Confluence space ENG from https://anatta.atlassian.net/wiki
     to engineering knowledge

Jarvis: Added Confluence space ENG. 42 pages found.

Website

slack
You: add https://agentic.anatta.io/docs/theme-factory to engineering

Jarvis: Added website source. Page will be split by sections for
        better search accuracy.

GitHub Issues

slack
You: add GitHub issues from anattadesign/jarvis to engineering

Jarvis: Added — will index open and closed issues.

Saving to Domain Knowledge

Domain heads and admins can ask Jarvis to add content to existing files in a domain's Google Drive folder:

slack
You: save this to engineering knowledge: The new deploy pipeline
     requires approval from two reviewers before merging to main.

Jarvis: Which file would you like me to save to? You have:
        - Engineering Runbook
        - Deploy Guide
        - Architecture Notes

You: Deploy Guide

Jarvis: Saved to "Deploy Guide" in engineering. It will be
        searchable after the next sync.

Rules: Domain heads and admins only — regular members cannot save to domain folders. Existing files only — Jarvis cannot create new files. Writable formats only — Google Docs, .txt, and .md files.

Syncing

Knowledge sources sync automatically every 6 hours. To sync immediately:

slack
You: sync engineering knowledge

Jarvis: Sync triggered for engineering. I'll DM you when it's done.

"Skipped" files are those that haven't changed since last sync, or file types Jarvis can't read (images, videos). Jarvis indexes Google Docs, Sheets, Slides, PDFs, .docx, .pptx, and plain text files. Embedded images are ignored — only text is extracted.

Visibility

LevelWho Can SearchUse Case
Domain (default) Everyone in that domain + admins Team-specific docs
Public Everyone in the company Company-wide documents (e.g. employee handbook)
Private Owner only, DMs only Personal documents

How Search Works

When you ask a question, Jarvis:

  1. Converts your question into a semantic embedding
  2. Searches the vector database for the most relevant documents (not keyword matching — actual meaning)
  3. Sends only the top matching documents to the AI
  4. Answers based on those specific documents

This means questions like "how do I reset my password" will find the "Mac Password Reset Guide" even if you didn't use the exact title. If the answer isn't in the knowledge base, Jarvis says so clearly instead of guessing.

GITHUB ISSUES

Searching Issues

Channel restriction: GitHub tools work in AI team channels (#engineering, #ai-test, #shield) for regular users. Admins and super admins can use them from any channel.

Find issues by description, assignee, or state:

slack
You: find open issues about checkout

Jarvis: Found 3 matching issues:
  #142 — Checkout crashes with special chars in discount code (open)
  #138 — Checkout timeout on slow connections (open)
  #131 — Add Apple Pay to checkout (open, labeled: enhancement)
slack
You: show me details on issue 142

Jarvis: #142 — Checkout crashes with special chars in discount code
  State: open | Author: @jane | Labels: bug, high-priority
  Created: Apr 3 | Updated: Apr 5

  Steps to reproduce:
  1. Add item to cart
  2. Enter discount code with & or % character
  3. Click "Apply" — page crashes with 500 error

Creating Issues

Tell Jarvis what the issue is — it handles the rest:

slack · #engineering
You: log an issue: the product page shows wrong pricing
     when currency is set to EUR

Jarvis: Created #159: "Product page shows wrong pricing in EUR currency"
        Notified the SHIELD team.

What Happens Behind the Scenes

  1. Duplicate check — Jarvis searches all open issues first. If a similar one exists, it tells you instead of creating a duplicate.
  2. Issue creation — Title, description, and any error details from your conversation are included.
  3. Metadata — "Reported by: Your Name (your@email.com)" is automatically added.
  4. Notification — The SHIELD channel gets an alert so the engineering team sees it.

Duplicate Prevention

slack
You: log an issue: checkout crashes with special characters

Jarvis: This looks like it might be a duplicate of #142
        "Checkout crashes with special chars in discount code" (open).
        Want me to add your info as a comment on the existing issue instead?

If you insist, Jarvis escalates to the super admins rather than creating a duplicate.

Closing & Reopening Issues

Closing

Requires team lead or higher. Jarvis always adds an explanatory comment when closing:

slack
You: close issue 142 — fixed in PR #167, deployed to production

Jarvis: Closed #142 with comment:
        "Fixed in PR #167, deployed to production.
         Closure requested by Jane (jane@anattadesign.com)."

Reopening

slack
You: reopen issue 142 — still happening in production after the fix

Jarvis: Reopened #142 with comment explaining the reason.
        SHIELD team notified.

Admins can reopen directly. Regular users need to provide a valid reason, and Jarvis may escalate to admins if the reason isn't clear.

Commenting on Issues

slack
You: comment on issue 142: tested on staging, confirmed the fix works

Jarvis: Added comment to #142.

SHIELD Notifications

SHIELD is the internal alert channel for the engineering team. Jarvis posts there when:

  • A new issue is created
  • An issue is reopened
  • A duplicate dispute needs admin review

You can also post directly:

slack
You: notify shield: deployment to production is blocked,
     CI pipeline failing on main branch

Jarvis: Posted to SHIELD.
SCHEDULING & REMINDERS

One-Time Reminders

Simple notifications delivered at a specific time:

slack
You: remind me at 3pm to review the PR

Jarvis: Done — I'll remind you at 3:00 PM IST.

[At 3:00 PM]
Jarvis (DM): Reminder: Review the PR

More examples:

slack
remind me tomorrow at 10am to follow up with the client
remind me Friday at 5pm to submit the weekly report
set a reminder for April 15 at 9am: file quarterly taxes

Reminders are delivered as simple DM notifications — no AI processing, just the message you set.

Recurring Tasks

Recurring tasks run on a schedule and are processed by the AI agent each time, so they can do more than just remind — they can fetch data, generate reports, and take actions.

Daily Standup Summary

slack
You: every weekday at 9am, give me a summary of open GitHub issues
     assigned to the engineering team

Jarvis: Scheduled — runs Mon-Fri at 9:00 AM IST.

[Every weekday morning]
Jarvis (DM): Here are today's open engineering issues:
  - #159 Product page pricing bug (high priority, 2 days old)
  - #156 Update TF docs (low priority)
  - #142 Checkout crash — reopened yesterday
  3 open issues, 1 high priority.

Weekly Digest

slack
You: every Monday at 10am, check what knowledge sources
     were synced in the last week and if any failed

Jarvis: Scheduled — runs every Monday at 10:00 AM IST.

Timezone

All times are interpreted in your local timezone. Jarvis reads your timezone from your Slack profile. If it's wrong, update it:

slack
You: set my timezone to America/New_York
You: my timezone is Asia/Kolkata
You: I'm in London

Managing Schedules

List Active Schedules

slack
You: list my schedules

Jarvis: You have 3 active schedules:
  1. Daily at 9:00 AM — GitHub issues summary (recurring)
  2. Mon at 10:00 AM — Weekly sync digest (recurring)
  3. Apr 15 at 9:00 AM — File quarterly taxes (one-time)

Cancel a Schedule

slack
You: cancel schedule 2

Jarvis: Cancelled "Weekly sync digest".

Frequency Limits

To prevent abuse, recurring task frequency is limited by role:

RoleMaximum Frequency
MemberOnce per day (daily, weekly, etc.)
AdminUp to hourly
Super AdminAny frequency

All users can have up to 25 active recurring tasks.

PRIVATE KNOWLEDGE & NOTES

Private Knowledge Sources

Add personal documents that only you can search. These are never visible to anyone else and only accessible in DMs with Jarvis.

Adding Private Sources

slack · DM
You: save this for me:
     https://drive.google.com/drive/folders/1MyPersonalDocs

Jarvis: Added as your private knowledge source. Syncing now —
        I'll let you know when it's ready.

Searching Private Knowledge

slack · DM
You: what's in my personal docs about compensation?

Jarvis: From your private documents:
        Your current CTC is ₹12,00,000 per annum...

Supported File Types

  • Google Docs — exported as text
  • Google Sheets — exported as CSV
  • Google Slides — slide text and speaker notes
  • PDFs — text-based PDFs (scanned/image PDFs are skipped)
  • Word documents (.docx) — full text extraction
  • PowerPoint (.pptx) — slide text and speaker notes
  • Plain text, Markdown, CSV — read directly

Security

  • DMs only — Private knowledge is blocked in channels
  • Encrypted at rest — All private document content is encrypted with AES-256
  • Owner only — No one else can search, view, or manage your private sources. Not even admins.
  • Stays private — Cannot be changed to domain or public visibility

Saving to Private Knowledge

slack · DM
You: save this to my knowledge: We decided to go with Razorpay
     for India payments. Integration deadline is May 15.

Jarvis: Which file would you like me to save to? You have:
        - My details
        - Paul's secret

You: My details

Jarvis: Saved to "My details". It will be searchable after the next sync.

Rules: Existing files only — create files yourself in Drive first. Writable formats only — Google Docs, .txt, and .md. DMs only — saving to private knowledge is blocked in channels.

Storage Limits

Each user has a storage limit for private knowledge (default: 10,000 characters across all sources). If your documents exceed the limit, Jarvis automatically summarizes them to fit and notifies you. All key facts, numbers, and details are preserved.

Personal Notebook

A lightweight note-taking system for quick things you want Jarvis to remember. Think of it as a personal sticky note board.

Saving Notes

slack
You: remember that we decided to use Stripe for payments

Jarvis: Saved to your notebook.

Jarvis also saves notes proactively when something important comes up in conversation — a decision, a preference, a key detail — so you don't have to ask.

Searching Notes

slack
You: what did I save about payments?

Jarvis: You noted: "We decided to use Stripe for payments" (saved Apr 7)

Listing & Deleting Notes

slack
You: list my notes

Jarvis: Your notebook (5 notes):
  1. We decided to use Stripe for payments (Apr 7)
  2. Mike's desk extension is 4201 (Apr 5)
  3. Staging server password in 1Password under "Anatta Staging" (Apr 3)
  4. Sprint retro every other Friday at 4pm (Mar 28)
  5. Design review feedback: simplify the onboarding flow (Mar 25)

You: delete note 2

Jarvis: Deleted: "Mike's desk extension is 4201"

Storage & Privacy

You can save up to 100 notes. Notes are strictly private — only you can read, search, or delete them. Jarvis never reveals your notes to other users. Notes are loaded into your conversations so Jarvis remembers what you saved, in both DMs and channels.

Note: Notebook entries are stored as plain text in the database (not encrypted), unlike private knowledge which uses AES-256 encryption.

Notebook vs Private Knowledge

NotebookPrivate Knowledge
What it's for Quick notes, decisions, facts Documents and external sources
How you add "remember this..." / "save note..." "save this URL for me"
Source types Free text only Google Drive, Docs, Sheets, Slides, PDF, .docx, .pptx
Search Keyword matching Semantic (AI-powered)
Where it works DMs and channels DMs only
Storage limit 100 notes Per-user character limit
Encryption No (plain text) Yes (AES-256)
TEMPLATES & DOCUMENTS

Generating Documents

Jarvis can generate documents from pre-defined templates — offer letters, onboarding checklists, reports, and any other repeatable document. Templates are Google Docs with placeholder fields that Jarvis fills and delivers as .docx files in Slack.

slack
You: generate an offer letter for Rahul Kumar,
     starting May 1, salary 15 LPA, role: Senior Engineer

Jarvis: Generated "Offer Letter — Rahul Kumar"
        [offer-letter-rahul-kumar.docx]

Auto-Filled Fields

Jarvis automatically fills common fields from your profile and context:

  • {employee_name} — from your request
  • {email} — from user profile
  • {date}, {month}, {year} — current date
  • {manager_name} — from context if available

It only asks for values it can't figure out:

slack
You: generate an NDA for the Acme project

Jarvis: I need a few details for the NDA:
  - Client company name?
  - Project scope?
  - Duration (months)?

You: Acme Corp, e-commerce redesign, 6 months

Jarvis: Generated "NDA — Acme Corp"
        [nda-acme-corp.docx]

Listing Templates

slack
You: list hr templates

Jarvis: HR Templates:
  1. Offer Letter — fields: employee_name, role, salary, start_date
  2. NDA — fields: client_name, project_scope, duration
  3. Onboarding Checklist — fields: employee_name, team, manager_name

Setting Up Templates (Admin)

Creating a Template

Create a Google Doc with placeholder fields in curly braces:

google doc template
Dear {employee_name},

We are pleased to offer you the position of {role} at Anatta,
starting {start_date}, with a compensation of {salary} per annum.

Then tell Jarvis to register it:

slack
You: add template "Offer Letter" from
     https://docs.google.com/document/d/1ABC123
     for hr domain

Jarvis: Added template "Offer Letter" to hr domain.
        Detected fields: employee_name, role, start_date, salary

Fields are auto-detected from the document — no manual configuration needed.

Access Control

Templates can require a minimum role to generate:

slack
You: add template "Board Report" from docs.google.com/...
     for cxo domain, min role: admin

Jarvis: Added "Board Report" to cxo. Only admins and above can generate.

Updating & Removing Templates

slack
You: update the offer letter template: set min role to head_of_domain

Jarvis: Updated — "Offer Letter" now requires head_of_domain or above.

You: remove the NDA template

Jarvis: Removed "NDA" from hr templates.