How to Integrate Claude Into Outlook (Step by Step)
Integrating Claude into Outlook means giving your inbox the ability to summarize threads, draft replies, triage messages, or extract action items — all without leaving the app you already live in. There's no official Claude add-in for Outlook, so the integration has to happen through one of three paths: Power Automate flows, a custom Office Add-in (VBA or Office.js), or a lightweight middleware layer that calls an API and returns text to Outlook.
This guide walks through each method, what it takes to set up, and where the friction usually shows up — namely, authentication and API access, which is the part most tutorials skip.
Why Outlook Doesn't Have Native Claude Support
Outlook's extensibility model is built for Microsoft's own Copilot stack and for third-party add-ins registered through the Microsoft AppSource or sideloaded manifests. Anthropic doesn't publish an Outlook add-in, so any Claude integration is something you build or install from a third party. That's not a dealbreaker — it just means you need three pieces:
- A way to trigger the AI action (a button, a rule, a flow)
- A way to call Claude with the email content
- A way to get the response back into the email (insert, reply, or log)
The hard part is usually step 2: getting a stable, authenticated API endpoint that doesn't require you to manage raw Anthropic credentials inside a Power Automate connector or VBA script.
Method 1: Power Automate + HTTP Action
If your organization already uses Microsoft 365, Power Automate is the fastest path to a working integration with zero code inside Outlook itself.
Setup:
- Create a flow triggered by "When a new email arrives" (or a manual trigger for testing).
- Add a Compose action to grab the email body, subject, and sender.
- Add an HTTP action that POSTs to your Claude-backed API endpoint.
- Parse the JSON response and use Reply to email or Create draft to insert the output.
Example HTTP action body when calling an API like SubToAPI, which exposes Claude through a standard /v1/messages endpoint:
{
"model": "claude-sonnet-4",
"max_tokens": 400,
"messages": [
{ "role": "user", "content": "Summarize this email in 3 bullet points and suggest one reply:\n\n@{triggerBody()?['body']}" }
]
}
Headers:
Authorization: Bearer <your API key>
Content-Type: application/json
Power Automate flows are ideal for rule-based automation — auto-summarizing long threads, flagging urgent emails, or drafting first-pass replies to common requests. They're less suited to interactive, in-the-moment drafting, which is where an add-in does better.
Method 2: A Custom Office Add-in (Office.js)
For an in-Outlook button that a user clicks while reading or composing an email, you need an Office Add-in. This gives you a task pane inside Outlook where the AI response appears directly next to the message.
Minimal flow inside the add-in's JavaScript:
Office.onReady(() => {
document.getElementById("summarize").onclick = summarizeEmail;
});
async function summarizeEmail() {
const item = Office.context.mailbox.item;
item.body.getAsync("text", async (result) => {
const emailText = result.value;
const response = await fetch("https://api.subtoapi.app/v1/messages", {
method: "POST",
headers: {
"Authorization": `Bearer ${SUBTOAPI_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "claude-sonnet-4",
max_tokens: 300,
messages: [{ role: "user", content: `Summarize this email:\n\n${emailText}` }]
})
});
const data = await response.json();
document.getElementById("output").innerText = data.content[0].text;
});
}
You'll need a manifest XML file to register the add-in and sideload it for testing (Insert > Add-ins > My Add-ins > Upload My Add-in). For team-wide deployment, it goes through the Microsoft 365 admin center.
This is the most flexible method — you control the UI, the prompt, and what happens with the output (insert into reply, copy to clipboard, log to a CRM) — but it's also the most engineering-heavy.
Method 3: VBA Macro (Desktop Outlook Only)
If you're on classic desktop Outlook and want something quick without publishing an add-in, a VBA macro can call an HTTP endpoint directly using WinHttpRequest.
Sub SummarizeWithClaude()
Dim http As Object
Dim mail As Outlook.MailItem
Set mail = Application.ActiveExplorer.Selection.Item(1)
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
Dim body As String
body = "{""model"":""claude-sonnet-4"",""max_tokens"":300,""messages"":[{""role"":""user"",""content"":""Summarize: " & Replace(mail.Body, """", "'") & """}]}"
http.Open "POST", "https://api.subtoapi.app/v1/messages", False
http.SetRequestHeader "Authorization", "Bearer " & Environ("SUBTOAPI_KEY")
http.SetRequestHeader "Content-Type", "application/json"
http.Send body
MsgBox http.ResponseText
End Sub
This is the fastest way to prototype but it's fragile — string-escaping email bodies manually is error-prone, and VBA macros don't survive well across environments. Treat it as a proof of concept before moving to a proper add-in.
The Authentication Problem
Every one of these methods needs a stable way to call Claude over HTTPS with a normal API key — not a browser session, not an OAuth dance tied to a chat interface. If you already pay for Claude access, the practical option is to put a thin API layer in front of it rather than provisioning separate Anthropic API billing for a script that runs a few times a day.
This is exactly what SubToAPI is for: it turns your existing Claude subscription into a standard HTTPS API with sub_live_... keys, streaming, tool use, and usage metadata. You generate a key at /signup, point Power Automate, your Office.js add-in, or your VBA macro at https://api.subtoapi.app/v1/messages, and you're done — no separate Anthropic account plumbing, and it works the same way across all three integration methods above. Check /docs/quickstart for a first request and /docs/messages for the full request schema.
Choosing the Right Method
- Rule-based automation (auto-summarize incoming mail, tag urgent threads): Power Automate.
- Interactive drafting while reading email: Office.js add-in.
- Quick internal prototype: VBA macro, then migrate.
Start with Power Automate if you want something running today. Move to an Office.js add-in once you know exactly what prompts and outputs your team actually uses.
Questions
Does Claude have an official Outlook add-in? No. Anthropic doesn't publish one, so integration requires Power Automate, a custom Office Add-in, or a script that calls an API endpoint.
Can I use my Claude subscription instead of the Anthropic API for this? Yes — a service like SubToAPI exposes your existing Claude access as a standard HTTPS API, so you don't need separate API billing just to automate Outlook.
Is Power Automate or a custom add-in better for Outlook + Claude? Power Automate is faster to set up for background automation like summarizing incoming mail; a custom Office.js add-in is better if you want an in-app button users click while composing or reading.