Important
This is a preview / proof-of-concept. Things might break, and APIs may change.
An Office Add-in that brings GitHub Copilot directly into Word, Excel and PowerPoint — enhanced with Atea brand design skills and Microsoft Work IQ (calendar, email, Teams, people search via MCP).
| Capability | Example prompt |
|---|---|
| Create on-brand presentations | "Create a 5-slide customer pitch for Atea's cloud services using our brand guidelines" |
| Read & edit documents | "Summarise this Word document in three bullet points" |
| Work with spreadsheets | "Create a chart from the data in A1:D10" |
| Access your M365 data | "What meetings do I have tomorrow?" |
| Search people & org | "Find the person responsible for Azure at Atea" |
| Combine it all | "Check my calendar for next week and create a PowerPoint status update using Atea branding" |
| Requirement | Notes |
|---|---|
| Node.js 20+ | nodejs.org |
| GitHub Copilot license | Individual, Business or Enterprise |
| Microsoft 365 | Office on the web or desktop (with add-in support) |
| Git | To clone the repo |
git clone https://github.com/atea/github-copilot-office.git
cd github-copilot-office
npm installmacOS / Linux:
./register.shWindows (PowerShell):
.\register.ps1This tells Office where to find the add-in and trusts the local SSL certificate.
npm run start:trayThe server starts on https://localhost:52390. Keep this terminal open.
- Open PowerPoint, Word or Excel (desktop or web)
- Go to Insert → Add-ins → My Add-ins
- Under Shared Folder (desktop) or My Organization (web), select GitHub Copilot
- The Copilot chat panel appears on the right side
The first time you open the add-in you'll be prompted to sign in with your GitHub account. This authenticates you against your Copilot license.
📖 For more detailed setup instructions, see GETTING_STARTED.md.
🔧 For the full list of Office tools, see TOOLS_CATALOG.md.
You can run the backend server in Docker for easier deployment and isolation. This uses a hybrid architecture where the main server runs in Docker, but Work IQ (M365 integration) runs on the host to access macOS Keychain for authentication.
- Docker and Docker Compose
- GitHub CLI (
gh) authenticated withgh auth login - Work IQ for M365 features (optional)
Terminal 1 — Start the Work IQ host relay (for M365 features):
node scripts/workiq-host-relay.jsTerminal 2 — Start the Docker container:
GITHUB_TOKEN=$(gh auth token) docker compose up --buildThe add-in is now available at https://localhost:52390.
┌─────────────────────────────────────────────────────────────────┐
│ Office Add-in (Browser) │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Docker Container (port 52390) │
│ ┌───────────────┐ ┌─────────────────┐ ┌──────────────────┐ │
│ │ Express Server│ │ GitHub Copilot │ │ Work IQ Bridge │ │
│ │ + React UI │ │ CLI (native bin)│ │ (MCP → HTTP) │ │
│ └───────────────┘ └─────────────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼ HTTP (host.docker.internal:52391)
┌─────────────────────────────────────────────────────────────────┐
│ Host Machine │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Work IQ Host Relay (port 52391) │ │
│ │ - Runs @microsoft/workiq natively │ │
│ │ - Has access to macOS Keychain (M365 auth) │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
- GitHub Copilot CLI runs fine in Docker with a
GITHUB_TOKENenvironment variable - Work IQ requires interactive Microsoft authentication stored in macOS Keychain, which isn't accessible from Docker
- The host relay bridges this gap — it runs Work IQ natively on the host where Keychain is available
If you don't need M365 integration (calendar, email, Teams, people search), you can skip the host relay:
GITHUB_TOKEN=$(gh auth token) docker compose up --buildOffice tools (creating slides, reading documents, editing spreadsheets) will work normally.
The docker-compose.yml includes:
- Port
52390for the main server - Volume mounts for SSL certs and design skills
GITHUB_TOKENpassed from the hostWORKIQ_RELAY_URLpointing to the host relay
"Session was not created with authentication info":
- Make sure you're passing
GITHUB_TOKEN:GITHUB_TOKEN=$(gh auth token) docker compose up - Verify your GitHub CLI is authenticated:
gh auth status
Work IQ queries timeout or fail:
- Check the host relay is running:
curl http://localhost:52391/health - View relay logs:
tail -f /tmp/workiq-relay.log - First M365 query may prompt for sign-in in the host terminal
Container can't reach host relay:
- Docker Compose adds
host.docker.internalautomatically - Check
WORKIQ_RELAY_URLin container:docker compose exec copilot-office env | grep WORKIQ
The add-in includes the Atea Corporate design skill, which teaches Copilot the full Atea brand guidelines — colors, typography, layout rules, and do's & don'ts. Every slide it generates follows the Atea visual identity automatically.
| Prompt | What happens |
|---|---|
| "Create a title slide for a presentation about cloud migration" | Creates a slide with Atea Green (#008A00), Arial Bold title, proper 16:9 layout |
| "Add a slide with three key benefits in the green-box pattern" | Uses the signature Atea green box motif with white text |
| "Build a 5-slide deck: title, agenda, three content slides about our managed services offering" | Full branded deck with consistent styling |
| "Make a slide comparing on-prem vs cloud costs with a chart" | Chart using Atea's color sequence (Green, Grey, Bright Green, Light Grey…) |
- Be specific about content — give Copilot the actual text/data, not just the topic
- Mention the number of slides — "Create 5 slides about…" works better than "Create a presentation about…"
- Ask for specific layouts — "Use a two-column layout" or "Add a full-width image slide"
- Iterate — after generating, say "Make the title shorter" or "Change the subtitle to…"
- Reference the brand — "Use Atea branding" or "Follow our brand guidelines" reinforces the design skill
Work IQ connects Copilot to your Microsoft 365 data via MCP — emails, calendar, Teams messages, documents and people.
| Prompt | What it does |
|---|---|
| "What meetings do I have this week?" | Queries your Outlook calendar |
| "Summarise my unread emails" | Reads your inbox via Microsoft Graph |
| "Find Teams messages about the Azure migration project" | Searches your Teams conversations |
| "Who in Atea works on Kubernetes?" | People search across the organization |
| "Check my calendar for Monday and create a PowerPoint agenda slide" | Combines Work IQ + Office tools + design skill |
When you first ask a Work IQ question, you'll be prompted to sign in with your Microsoft account. This is a one-time consent per session.
| M365 Copilot | This Add-in | |
|---|---|---|
| Model | GPT-4o (Microsoft-hosted) | GitHub Copilot models (GPT-4o, Claude, etc.) — you choose |
| Brand awareness | Generic styling | Atea brand guidelines baked in via skills |
| Extensibility | Limited to Microsoft's built-in capabilities | MCP servers, custom skills, custom tools |
| Presentation quality | Basic slide generation | Code-level PowerPoint control (shapes, charts, formatting) |
| M365 data access | Built-in | Via Work IQ MCP (calendar, email, Teams, people) |
| Cost | $30/user/month M365 Copilot license | GitHub Copilot license (included if you already have one) |
| Customisation | None | Add your own skills, MCP servers and tools |
| Transparency | Black box | Open source — inspect and modify everything |
- On-brand by default — every slide follows Atea's design system without manual fixing
- Model choice — switch between GPT-4o, Claude Sonnet, and other models
- Composable — combine Office tools + M365 data + custom skills in a single prompt
- Extensible — add new MCP servers (e.g. Jira, ServiceNow) or custom tools
- Cost-effective — no additional M365 Copilot license needed if you already have GitHub Copilot
| Skill | Description |
|---|---|
atea-corporate |
Full Atea brand — colors, typography, layouts, green-box pattern |
github-brand |
GitHub brand guidelines |
microsoft-default |
Microsoft presentation defaults |
minimal-light |
Clean minimal design |
Skills are loaded from the skills/ directory. Each skill contains a SKILL.md file with design guidelines that Copilot follows when creating presentations.
PowerPoint-spedup.mp4
Excel-GitHubCopilot.mov
Word-GitHubCopilot.mov
| Command | Description |
|---|---|
npm run dev |
Start development server with hot reload |
npm run build |
Build frontend for production |
npm run start:tray |
Run production server (native) |
docker compose up --build |
Run production server in Docker |
node scripts/workiq-host-relay.js |
Start Work IQ host relay for Docker mode |
Add-in doesn't appear in Office:
- Make sure you ran
./register.sh(or.\register.ps1) - Restart Office after registering
- Check that the dev server is running (
npm run dev)
Stuck on "Connecting…":
- Make sure
npm run start:trayis running and showingServer running on https://localhost:52390 - Try refreshing the add-in panel (close and reopen)
Work IQ not responding:
- Ensure you have internet access and
npxis available in your PATH - Run
workiq accept-eulaonce to accept End User License Agreement from Microsoft - Sign in when prompted — Work IQ requires Microsoft account consent
SSL Certificate errors:
- Re-run the register script (
./register.sh) - Or manually trust
certs/localhost.pem