Word
Put Word documents in a flow: turn a form or a CRM record into a contract from your own template and send it as a PDF, keep the minutes an AI Node writes as a proper .docx, read what someone dropped in a folder, add to a running log, fix a name everywhere — with the action node — and fire a flow when a document is added or changed in a folder with the trigger. The action node can also be handed to an AI Node as an AI toolkit. It works on the Word documents in the connected account's OneDrive.
Connect Word
Click Connect Word — in the node's credential picker or in Settings → Credentials — and sign in with Microsoft. A personal account (outlook.com, hotmail.com, live.com) and a work or school account both work. One credential is one account and its OneDrive; the node acts as that account. Microsoft asks for two permissions:
- Have full access to your files — everything the node does with the account's own documents: find, read, create, change, convert and share them.
- Read all files that you have access to — read only, and only because Microsoft requires it to send the trigger's change notifications on a work or school OneDrive. HostWebhook doesn't write to documents other people shared with you.
- Work accounts. Neither permission needs an administrator, but some organizations don't let their people approve apps on their own: Microsoft then shows Need admin approval, and an admin approves HostWebhook once, in Microsoft Entra.
- Revoking. Remove HostWebhook from
account.microsoft.com→ Privacy → Apps and services (personal) ormyapps.microsoft.com(work), and the credential stops working; Reconnect it from Settings → Credentials.
The action node
Eleven operations, in four groups. A new node starts with none picked; pick one and its fields appear.
| Group | Operation | What it does | OneDrive |
|---|---|---|---|
| Documents | List documents | The Word documents in a folder, last changed first. | reads |
| Documents | Find documents | By words in their name or in their text. | reads |
| Documents | Get document | Its details: name, link, size, folder, who changed it and when. | reads |
| Documents | Read document | Its text, as Markdown (headings, lists, bold, tables) or plain text. | reads |
| Documents | Download document | A copy in HostWebhook (_file) for the next node — as .docx, or as PDF. | reads |
| Create | Create document | A new .docx written from Markdown or plain text. | writes |
| Create | Fill template | A new .docx from a template, with every {{field}} replaced by its value. | writes |
| Edit | Append text | Add Markdown or plain text at the end of a document. | writes |
| Edit | Replace text | Find text and replace it everywhere, keeping its formatting. | overwrites |
| Convert & share | Save as PDF | A PDF copy of the document, saved in OneDrive. | writes |
| Convert & share | Share link | A link to read the document, or to edit it. | shares |
Every text field takes a template: {{payload.id}} for the document that fired the Word trigger, {{payload.customer}} from a form.
Picking a document or a folder
Document, Template and Folder are picked from the account's OneDrive with the same picker as the OneDrive node: open folders to go down, use the path at the top to go back up, or search by name. My files is the top of the OneDrive, and a folder field left empty means the top — or, where the field says so, the document's own folder. The list only shows the documents the operation can work with (see Which documents).
To take it from the flow instead, choose Type a path, an ID or a template under the list:
- An ID —
{{payload.id}}from the Word trigger or from another Word step (List documents, Create document…). A{{payload.parentId}}is a folder ID: the folder the document is in. - A path from the top of OneDrive, starting with
/and written as you see it, spaces included:/Contracts/ACME.docx, or/Contracts/{{payload.year}}for a folder.
When the Word and OneDrive credentials are the same Microsoft account, a document from the OneDrive node or its trigger works here too, by its {{payload.id}} or {{payload.path}}. Changing the node's credential forgets the items picked from the other account — an ID doesn't exist in another OneDrive — and keeps paths and templates. A path or ID that finds nothing fails with Check the ID — or the path, which starts at the top of OneDrive.
Which documents
Reading, filling and editing work on the modern Word format — the zipped XML of a .docx — which HostWebhook opens itself. Older formats can still be looked up, downloaded, converted to PDF by Microsoft and shared:
| Operation | Works on |
|---|---|
| List documents, Find documents, Read document | .docx, .docm, .dotx, .dotm |
| Fill template, Append text, Replace text | .docx, .dotx — not documents with macros |
| Save as PDF, and Download document as PDF | .docx, .doc, .dot, .dotx, .dotm, .odt, .rtf — not .docm |
| Get document, Download document, Share link | All of the above, the old .doc and .dot included |
A document HostWebhook changes keeps its format, so documents with macros (.docm, .dotm) are only read: rewritten without their macros Word would refuse to open them. Microsoft doesn't convert .docm to PDF; HostWebhook says so before calling it. A .docx that is password-protected or encrypted with a sensitivity label can't be opened, and the error says so.
Reading a document
Read document returns the text — to hand to an AI Node as {{payload.text}}, or to a Transform. Format is Markdown by default:
- Headings come from Word's heading styles, whatever the language: Título 1 is a
#too. Title and Subtitle are headings as well, and quotes start with>. - Lists keep their bullets, numbers and indentation; bold, italic and strikethrough are kept, and links come as
[text](url). - Tables come as Markdown tables, the first row as the header; a cell's paragraphs are joined with
<br>. - Text boxes come right after the paragraph they are anchored to; a field shows its result (the date, the page number); with tracked changes, the text reads as if every change were accepted.
text gives the same without marks: lists with - and 1., table cells separated by tabs. Headers and footers adds their text apart, in headers and footers. Max characters is 50,000 by default and 200,000 at most; a longer text comes back cut, with truncated: true. Images aren't read.
The output is the document's details plus the text and a few counts:
{
"id": "D4648F06C91D9D3D!5678",
"name": "Contract ACME.docx",
"title": "Contract ACME",
"path": "/Contracts/Contract ACME.docx",
"webUrl": "https://onedrive.live.com/edit?id=…",
"format": "markdown",
"text": "# Service agreement\n\nBetween **ACME Inc.** and …",
"characters": 18342,
"words": 3120,
"paragraphs": 96,
"tables": 2,
"truncated": false
}Downloading
Download document saves a copy in HostWebhook as _file — the same file reference Gmail, Outlook and OneDrive use — so the next node attaches it to an email in Outlook or Gmail with {{payload._file}}. As docx (the default) is the file as it is; pdf is converted by Microsoft on the way, and named after the document with .pdf. The document in OneDrive doesn't change.
docx, a bigger document is refused before anything is downloaded, with its size in the error. As pdf, the PDF's size is only known as it arrives: the download stops at the limit and the run fails with is over the … HostWebhook can keep per file, without the size. Read document works on documents up to 25 MB without keeping them.Listing and finding
List documents returns the Word documents of one folder — not its subfolders — last changed first, or A to Z with Order. How many is 25 by default and 100 at most. It looks at the first 1,000 items of the folder; truncated: true says there were more.
Find documents finds documents by words in their name or in their text, across the whole OneDrive or in a Folder and its subfolders, best match first. Microsoft indexes new documents on its own schedule: one saved a minute ago can take a few minutes to show up. Documents other people shared with you aren't included.
Both return the documents in a documents list, with count. To do something with each one, put a Split or a Loop after it. Get document returns one document's details — the shape below.
What a document looks like
Every operation that returns a document returns it in the shape of a OneDrive file, plus its title — the name without the extension — and so does the trigger:
{
"id": "D4648F06C91D9D3D!5678",
"name": "Contract ACME.docx",
"title": "Contract ACME",
"kind": "file",
"size": 18234,
"mimeType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"extension": "docx",
"path": "/Contracts/Contract ACME.docx",
"parentId": "D4648F06C91D9D3D!1234",
"parentPath": "/Contracts",
"driveId": "d4648f06c91d9d3d",
"webUrl": "https://onedrive.live.com/edit?id=…",
"childCount": null,
"createdAt": "2026-10-01T15:12:44Z",
"lastModifiedAt": "2026-10-01T15:14:02Z",
"createdBy": { "name": "Ana García", "email": null, "app": null },
"lastModifiedBy": { "name": "Ana García", "email": null, "app": null },
"contentHash": "…",
"eTag": "…",
"cTag": "…"
}webUrl opens the document in Word for the web. path and parentPath can be null when Microsoft doesn't say where a document is — search results, mostly. Dates are UTC.
Creating a document
Create document writes a new .docx named File name (.docx is added if it is missing) in Folder — empty: the top of OneDrive. Content is Markdown by default; with Content format text, every line is a paragraph. Page size is Letter by default, or A4. Content can be empty: an empty document is a document.
From Markdown it makes a real Word document, with Word's own styles — so the reader can restyle it in Word:
#to######are Heading 1 to Heading 6 — they show up in Word's navigation pane.**bold**,*italic*,~~strikethrough~~,`code`and[links](https://…).- Bulleted and numbered lists, nested, as real Word lists — each numbered list starts at its own number. Task lists come out as ☐ and ☑.
- Tables with borders and a bold first row, aligned as the Markdown says; quotes; code blocks in a monospaced font; and
---as a line across the page. - No images: an image becomes its description and a link to it. HTML tags are dropped, their text kept.
{{…}} in it is filled from the flow when the node runs, and one with no value comes out empty. So a Word template with {{fields}} in it can't be written here: type it in Word, or have an AI Node create it with the toolkit — the model's arguments are used as written.If the name is taken
Create document, Fill template and Save as PDF ask what to do when the folder already has a file with that name. Nothing is ever overwritten unless you choose to:
- fail (the default) — stop and create nothing, with A file named “…” already exists in …. Running the same flow twice doesn't make a second copy.
- rename — keep both: the new one is
Contract ACME (2).docx, then(3), and so on. - replace — overwrite the file with that name.
Also as a file returns the new document as a _file too, ready to attach to an email in the next node — up to 16 MB, or your plan's per-file limit. The output is the new document with created: true, so {{payload.id}} and {{payload.webUrl}} are the new one's.
_fileSkipped with the reason instead of _file — so a node next that attaches {{payload._file}} has no file to attach. When the attachment matters, check {{payload._fileSkipped}} first. The same goes for Fill template and Save as PDF.Filling a template
Fill template makes a new document from a Word document of yours with {{field}} markers typed in it, replacing each marker with its value. The template doesn't change, so one template makes every contract, quote or letter.
In Word, type the markers where the values go — Dear {{name}} in the text, {{total}} in a table cell, {{date}} in the header — and format each whole marker the way its value should look (if its parts differ, the value takes the formatting of where the marker starts). Markers are found in the text, tables, headers, footers, footnotes, endnotes and text boxes, even when Word stores a marker in several pieces (it does, after spell-checking or a format change halfway through). A marker must stay inside one paragraph.
In the node, Template is that document (a .docx or a .dotx Word template), and Fields the values, as JSON — this box is a HostWebhook template, so the values come from the flow:
{
"name": "{{payload.name}}",
"date": "{{payload.date}}",
"total": "{{payload.total}}",
"items": "{{payload.items}}",
"customer": { "company": "{{payload.company}}" }
}- A marker finds its value by its exact name first, then by a dotted path —
{{customer.company}}— and last without minding capital letters. Up to 500 fields;{{payload.fields}}alone works when an earlier node already built the object. - Text, numbers and true/false are written as they are. A list becomes one line per item. An object is written as JSON. A line break in a value is a line break in Word.
- Fields with no value: keep (the default) leaves
{{field}}visible in the new document, so a gap is seen, not hidden; empty removes it; fail creates nothing and names the missing fields. - Only plain
{{markers}}: no loops, no conditions. Word's own mail-merge fields and content controls aren't used.
File name, If the name is taken and Also as a file work as in Create document; Folder empty puts the new document next to the template. From a .dotx, the result is an ordinary .docx. The output says what happened:
{
"created": true,
"id": "D4648F06C91D9D3D!5702",
"name": "Contract Ana Ruiz.docx",
"title": "Contract Ana Ruiz",
"path": "/Contracts/Contract Ana Ruiz.docx",
"webUrl": "https://onedrive.live.com/edit?id=…",
"template": { "id": "D4648F06C91D9D3D!5690", "name": "Contract template.docx" },
"filled": ["name", "date", "total"],
"missingFields": ["vat_number"],
"unusedFields": ["items"],
"replacements": 4
}missingFields are markers in the template with no value; unusedFields are values with no marker — a typo on either side shows up here.
Adding to a document
Append text adds Text to add — Markdown or plain text, as in Create document — at the end of a document, after everything already there. With Start on a new page it begins on a page of its own. Nothing already in the document changes, its styles and lists included, so a document someone else made doesn't get rearranged:
- Headings use the document's own Heading styles when it has them; otherwise they are bold, larger text.
- Lists are written with
•and1.as text, not as Word lists; quotes are in italics and indented; code is in a monospaced font; links work.
The output is the document with appended (paragraphs and characters added).
Replacing text
Replace text finds Find in the document and replaces every occurrence with Replace with — empty deletes it. The replacement takes the formatting of the text it replaces (of where it starts, if that text mixes formats). It looks in the body, text boxes, headers, footers, footnotes and endnotes; Body only leaves headers, footers and notes alone. Match case only replaces text with the same capital letters. Text that runs across two paragraphs isn't found.
Find is the exact text, but the box runs HostWebhook templates: a {{field}} typed there is filled from the flow before searching. To fill markers, use Fill template. When nothing matches, the document isn't saved again and the output says replacements: 0 and unchanged: true.
While someone is editing
Append text and Replace text save over the same document, so before saving HostWebhook checks that nobody saved it in between. If someone did, it starts over once with the new version; if it changed again, nothing is saved and the run fails with changed while it was being edited. Nothing was saved; run it again. A document that is locked — open in Word for the desktop, or checked out on a work account — fails with is locked; try again once it is closed.
Saving as PDF
Save as PDF has Microsoft convert the document and saves the PDF in OneDrive — next to the document, or in Folder. File name empty is the document's name with .pdf. The document doesn't change, and the output is the PDF — {{payload.id}} is the PDF's — with source naming the document it came from. If the name is taken and Also as a file work as in Create document. To get the PDF for an email without keeping it in OneDrive, use Download document as PDF instead.
Sharing
Share link makes a link to the document. People with the link can view it (the default) or edit it. Who is the account's default unless you pick anonymous (anyone with the link) or organization (only people in your company — work accounts). Expires is never by default; a time with no offset is read in the workspace's time zone. Asking twice for the same kind of link returns the same link, with created: false.
{
"id": "D4648F06C91D9D3D!5678",
"name": "Contract ACME.docx",
"webUrl": "https://onedrive.live.com/edit?id=…",
"link": {
"url": "https://1drv.ms/w/s!…",
"type": "view",
"scope": "anonymous",
"expiresAt": null,
"created": true
}
}To give specific people access, use the OneDrive node's Share with people.
AI toolkit mode
Once Word is connected, the node asks for a Mode. AI toolkit turns it into ten tools that an AI Node — or an MCP client, through one of your MCP servers — calls by name: “find the ACME contract and summarize it”, “write today's minutes as a document”, “make a contract for Ana from the template”.
| Tool | Arguments | Starts |
|---|---|---|
| list_word_documents | folder_id? · order_by? · max_results? | available |
| find_word_documents | query · folder_id? · max_results? | available |
| get_word_document | document_id | available |
| read_word_document | document_id · format? · include_headers_footers? | available |
| create_word_document | file_name · content? · content_format? · folder_id? · page_size? | available |
| create_word_document_from_template | template_id · fields · file_name · folder_id? · missing_fields? | available |
| append_to_word_document | document_id · content · content_format? · page_break_before? | available |
| replace_text_in_word_document | document_id · search · replace_with? · match_case? · body_only? | blocked |
| create_pdf_from_word_document | document_id · folder_id? · file_name? | available |
| share_word_document | document_id · link_type? · scope? · expires_at? | blocked |
A document_id, template_id or folder_id is an ID the model got from another tool, or a path starting with /. fields is a JSON object written as text, like {"name":"Ana","date":"1 Oct 2026"}. The model's arguments are used as written: a {{…}} in them is not filled in — which is how an agent can write a Word template with markers in it.
What you control
- Replacing and sharing start blocked.
replace_text_in_word_documentchanges text that is already there, andshare_word_documentopens a document to other people, which can't be undone by removing the link afterwards. Unblock the ones the agent should have in the node's tool list. Any other tool can be blocked the same way — creating documents, for an agent that should only read. - Folder the AI can use. Empty, the agent works on the whole OneDrive. Pick a folder and it only reaches the documents inside it and its subfolders: a document or folder outside is refused before anything is read or changed, and searches and lists stay inside. When the model names no folder, a new document —
create_word_documentorcreate_word_document_from_template, wherever the template is — goes to that folder, and a PDF fromcreate_pdf_from_word_documentnext to its document, which is already inside. - Nothing is overwritten. When the name is taken, the tools that create a document always keep both — the new one gets a number. The model has no files of the flow and doesn't get files back: Download document isn't a tool —
read_word_documentgives it the text instead. - Edit links. Off by default: a
link_typeofeditis refused with This node only allows view links. Turn on Let the AI create edit links in the node's toolkit settings to allow them — onceshare_word_documentis unblocked. - Characters per call sent to the model. 20,000 by default (from 1,000 to 200,000). A longer document read with
read_word_documentcomes back cut, and says so.
Testing a tool
operation in their payload that names another tool is refused.{ "operation": "read_word_document", "document_id": "/Contracts/Contract ACME.docx", "format": "markdown" }The trigger
Pick a Word credential, the folder to watch — from the account's own OneDrive, with Watch this folder. There is no default: until a folder is picked the trigger can't be tested or activated. For the whole OneDrive, pick Watch this folder on My files (the top) and turn on Also documents in its subfolders. Then what fires it:
- New document — a document the trigger hadn't seen in the folder: created, uploaded, copied or moved into it.
- Document changed — its content changed. Renaming it, moving it inside the folder or sharing it doesn't fire — and that holds for documents that were already there when you activated.
- New or changed — both. Leaving it empty means this.
Only Word documents fire it — .docx, .docm, .dotx and .dotm; a spreadsheet or a PDF dropped in the same folder doesn't. A removed document doesn't fire it either; for that, the OneDrive trigger has File removed. Optionally:
- Also documents in its subfolders — off by default: only the folder's own documents. On, it watches up to 200 subfolders; the trigger's activity says when more didn't fit.
- Name contains something (upper or lower case).
- Wait until editing stops (seconds) — see below. 60 by default; 0 fires right away.
- Include the text — the document arrives with its plain text in
text, up to 20,000 characters (textTruncatedsays when it was cut). A document over 25 MB arrives withtext: nullandtextSkipped. - Attach the file — the document arrives with its
_file, up to 16 MB (less if your plan's file limit is lower). A bigger one, or one that doesn't fit in your storage, arrives without it, and_fileSkippedsays why.
Waiting until editing stops
Word for the web saves every few seconds while someone types, and each save is a change. So the trigger waits until a document has gone Wait until editing stops seconds without a save, and then fires once, with the document as it was left — ten minutes of typing are one run, not a hundred. A document that keeps changing fires after 30 minutes at most. With 0, it fires as soon as a change is seen.
How it fires
Activating subscribes to the account with Microsoft. Microsoft's notification only says that something changed in the OneDrive, so HostWebhook then asks what changed since the last time and keeps the Word documents of the watched folder. Each notification carries a secret that belongs to this trigger, and HostWebhook checks it before reading anything. Each change is delivered once, even when Microsoft sends several notifications for it; two changes to the same document, with time to stop editing in between, are two runs. Deactivating deletes the subscription.
The trigger's page says how it is getting the changes:
- Microsoft notifies HostWebhook — the normal case.
- Shares Microsoft's notifications with another Word trigger on this account — Microsoft takes only one subscription per account, so a second Word trigger on the same account listens to the first one's. Each still watches its own folder with its own filters. Deactivating the first hands the subscription over. (A OneDrive trigger on the same account doesn't count: it is another connection.)
- Checks every 5 minutes — when Microsoft won't take the subscription: on a work account whose organization blocks it (the trigger tries to subscribe again once a day), or when the same Microsoft account is already subscribed from another HostWebhook organization (it tries again every hour).
No loops
A trigger on /Contracts followed by an Append text to the same document would fire itself forever. It doesn't: every version a Word node saves — Create document, Fill template, Append text, Replace text — is noted with the trigger that started that run, and the trigger skips the versions its own flow saved. Anything a person, another flow or another trigger does to the document fires as usual — so two flows can still hand a document to each other through a folder.
What the trigger remembers
To tell a new document from a changed one, and a rename from an edit, the trigger remembers the Word documents of the watched folder from the moment you activate, and every one it sees afterwards: up to 1,000 per trigger. In a folder with more, renaming a document it couldn't remember may arrive as New document. A document moved out of the folder is forgotten, so moving it back in is New document again.
Now and then Microsoft asks to start over: its record of the account's changes since HostWebhook last asked has expired. Rather than going through the whole OneDrive, HostWebhook then compares the folder with what it remembers: a document changed in the meantime arrives as Document changed and one added as New document, and the trigger's activity says it happened. Beyond the first 1,000 documents, changes made in that gap can be missed.
- Documents shared with you don't fire it: Microsoft doesn't notify about them.
- The watched folder deleted? The trigger stays active but matches nothing until you pick another folder.
What the trigger sends downstream
The same document the action node returns, with what happened and the watched folder in front — so {{payload.id}} is the Document and {{payload.parentId}} a Folder for any Word operation next:
{
"event": "created",
"service": "word",
"watchedFolderId": "D4648F06C91D9D3D!123",
"watchedFolder": "Contracts",
"watchedFolderPath": "/Contracts",
"id": "D4648F06C91D9D3D!54927",
"name": "Contract ACME.docx",
"title": "Contract ACME",
"kind": "file",
"size": 18234,
"mimeType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"extension": "docx",
"path": "/Contracts/Contract ACME.docx",
"parentId": "D4648F06C91D9D3D!123",
"parentPath": "/Contracts",
"driveId": "d4648f06c91d9d3d",
"webUrl": "https://onedrive.live.com/edit?id=…",
"childCount": null,
"createdAt": "2026-10-01T15:12:44Z",
"lastModifiedAt": "2026-10-01T15:14:02Z",
"createdBy": { "name": "Ana García", "email": null, "app": null },
"lastModifiedBy": { "name": "Ana García", "email": null, "app": null },
"contentHash": "…",
"eTag": "…",
"cTag": "…",
"text": "Service agreement\n\nBetween ACME Inc. and …",
"textTruncated": false,
"_file": { "id": "…", "originalName": "Contract ACME.docx", "mimeType": "…", "size": 18234, "downloadUrl": "https://…" }
}eventiscreated(New document) orupdated(Document changed).textandtextTruncatedonly with Include the text;_fileonly with Attach the file.
“When someone drops a contract in /Contracts, read it, have an AI Node summarize it and post the summary to Slack”: Word trigger → Read document with {{payload.id}} (or Include the text on the trigger) → AI Node → Slack.
Trying it out
The trigger's Test push reads the latest Word documents of the folder, applies your filters, and shows them exactly as a delivery will arrive — with the text, if you asked for it, but without attaching the file (_fileSkipped says so) and without running the flow. To see a real one, activate the trigger and save a document in that folder.
Good to know
Personal and work accounts
| Personal | Work or school | |
|---|---|---|
| Every operation, the trigger and the toolkit | Yes | Yes |
| “Only people in your company” links | No | Yes |
| Expiry on links | With a Microsoft 365 subscription | Yes — and the organization may set its own limit |
| A document locked because it is open in Word | Rare | Common: open in Word for the desktop, or checked out |
| Trigger | Microsoft notifies | Microsoft notifies — or checks every 5 minutes if the organization blocks it |
| Approving HostWebhook | You | You, unless the organization asks for an administrator |
An organization link on a personal account fails before anything is shared, with “organization” links exist only on work accounts; an organization that doesn't allow links for anyone answers Your organization does not allow links for anyone — choose organization instead.
Sizes and counts
| What | Up to |
|---|---|
| Read, fill, append to or replace in a document | Documents up to 25 MB (100 MB once unzipped) |
| Download document, Also as a file, and the trigger's Attach the file | 16 MB — or your plan's per-file limit, if lower |
| Save as PDF | A PDF of up to 50 MB |
| Read document | 50,000 characters by default, 200,000 at most |
| Content of Create document and Append text | 1,000,000 characters |
| Fill template — Fields | 500 fields |
| List documents and Find documents | 25 by default, 100 at most |
| List documents — items looked at in the folder | 1,000 |
| Trigger — Include the text | 20,000 characters, of documents up to 25 MB |
| Trigger — Wait until editing stops | 60 seconds by default, 900 at most; never more than 30 minutes in all |
| Trigger — documents remembered per trigger | 1,000 |
| Trigger — subfolders watched, with Also documents in its subfolders | 200 |
| AI toolkit — characters per call sent to the model | 20,000 by default, 1,000 to 200,000 |
What it doesn't do
- Delete, move, copy or upload files — that is the OneDrive node. Word stays with what is done to documents.
- Read a .docx that arrives as a file — an email attachment, a webhook upload. Save it to OneDrive first with the OneDrive node's Upload file, then Read document with its
{{payload.id}}. - Old .doc files are only looked up, downloaded, converted to PDF and shared — not read or changed.
- Images aren't added by Create document or Append text, nor read by Read document. Comments and tracked changes aren't created.
- Loops and conditions in templates — an invoice with one line per item is a list in one marker, which comes out one line per item.
- Links with a password, and embed links, aren't offered.
When it fails
- Not this kind of document — an operation given a file it doesn't work on says which files it takes, before calling Microsoft; a folder given as the Document says it is a folder.
- Could not be opened as a .docx — password-protected, encrypted with a sensitivity label, damaged, or an old .doc renamed.
- A name that's taken with fail says which one is already in the folder. A file name with
\ / : * ? " < > |, or one OneDrive reserves, is refused with the reason;#,%and&are fine. - Changed while it was being edited or locked — see While someone is editing.
- Reconnect — the account revoked HostWebhook or the sign-in expired: reconnect the credential in Settings → Credentials. A credential of another Microsoft service is refused with This is not a Word credential.
- Busy or throttled. Microsoft limits how fast one account can be called. When it answers that it is busy, the node waits the time it asks for (up to ten seconds) and tries once more before giving up with Microsoft's message.