AutomationFlowsEmail & Gmail › Auto-convert Onedrive Word Documents to PDF with Foxit and Send via Gmail

Auto-convert Onedrive Word Documents to PDF with Foxit and Send via Gmail

ByRaymond Camden @raymondcamden on n8n.io

Use cases would be environments where incoming documents are dropped into cloud storage and a human needs to review them. By converting to PDF, it becomes easier to read in a consistent format in the browser. Listen for new files added in a OneDrive folder, identified by an ID…

Event trigger★★★★☆ complexity13 nodesMicrosoft One Drive TriggerMicrosoft One DriveHTTP RequestGmail
Email & Gmail Trigger: Event Nodes: 13 Complexity: ★★★★☆ Added:
Auto-convert Onedrive Word Documents to PDF with Foxit and Send via Gmail — n8n workflow card showing Microsoft One Drive Trigger, Microsoft One Drive, HTTP Request integration

This workflow corresponds to n8n.io template #6007 — we link there as the canonical source.

This workflow follows the Gmail → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "qrBRgBi0nd8VY7sc",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Convert OneDrive Word doc to PDF",
  "tags": [
    {
      "id": "Swe6KzLGcdB7njAR",
      "name": "PDF",
      "createdAt": "2025-07-14T17:02:10.668Z",
      "updatedAt": "2025-07-14T17:02:10.668Z"
    },
    {
      "id": "oMYiaJ6wcHDq684x",
      "name": "Conversion",
      "createdAt": "2025-07-14T17:02:14.256Z",
      "updatedAt": "2025-07-14T17:02:14.256Z"
    },
    {
      "id": "FB1YRnU695c41dkP",
      "name": "Foxit",
      "createdAt": "2025-07-14T17:02:18.561Z",
      "updatedAt": "2025-07-14T17:02:18.561Z"
    }
  ],
  "nodes": [
    {
      "id": "d4319891-723a-4492-ad66-effc03dc642d",
      "name": "Microsoft OneDrive Trigger",
      "type": "n8n-nodes-base.microsoftOneDriveTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "01IZFFBT44M7VRGRBPXJBJHXORCT5YINXH"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "watchFolder": true
      },
      "credentials": {
        "microsoftOneDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "beec5178-3de1-44a0-9f53-6d40deae295e",
      "name": "Get File",
      "type": "n8n-nodes-base.microsoftOneDrive",
      "position": [
        480,
        0
      ],
      "parameters": {
        "fileId": "={{ $items('Microsoft OneDrive Trigger')[0].json.id }}",
        "operation": "download"
      },
      "credentials": {
        "microsoftOneDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "39a5e363-80fd-49d3-98f7-6c868fa6189e",
      "name": "Set File Field",
      "type": "n8n-nodes-base.set",
      "position": [
        700,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5a4c6404-42bf-433b-894a-154bf47d1217",
              "name": "bits",
              "type": "string",
              "value": "={{ data }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "58633032-2696-4f47-8b78-e5550c108fe4",
      "name": "Convert to PDF",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1160,
        0
      ],
      "parameters": {
        "url": "https://na1.fusion.foxit.com/pdf-services/api/documents/create/pdf-from-word",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"documentId\": \"{{ $json.documentId }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpCustomAuth"
      },
      "credentials": {
        "httpCustomAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0d452501-d57c-48b0-96e3-1e553580db98",
      "name": "Filter to Word",
      "type": "n8n-nodes-base.filter",
      "position": [
        220,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "e8875bfc-7f4a-4d08-8b45-a216b95f742a",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{$json.mimeType }}",
              "rightValue": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "5ad3be23-cbda-4710-bb24-e522981e6b75",
      "name": "Upload to Foxit",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        920,
        0
      ],
      "parameters": {
        "url": "https://na1.fusion.foxit.com/pdf-services/api/documents/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "=file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpCustomAuth"
      },
      "credentials": {
        "httpCustomAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e1874368-beb4-43ef-83d0-9e203fdee282",
      "name": "Check Task",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1380,
        0
      ],
      "parameters": {
        "url": "=https://na1.fusion.foxit.com/pdf-services/api/tasks/{{$json.taskId}}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpCustomAuth"
      },
      "credentials": {
        "httpCustomAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d28c9c29-8c3a-4bae-890d-72998bc87f1f",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1980,
        100
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "8e42d320-6c61-4669-9ed0-a957fa802e18",
      "name": "Is the job done?",
      "type": "n8n-nodes-base.if",
      "position": [
        1600,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "fa958cdc-d7a8-49b9-b577-13429bd7bcf5",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "62b6aee1-6dea-4511-97f8-0604377ef29c",
      "name": "Download",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2000,
        -80
      ],
      "parameters": {
        "url": "=https://na1.fusion.foxit.com/pdf-services/api/documents/{{ $json.resultDocumentId}}/download",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpCustomAuth"
      },
      "credentials": {
        "httpCustomAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a89ed3e9-0fb1-4fb4-a3f9-627399602783",
      "name": "Email PDF",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2400,
        -60
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "Enjoy your shiny PDF.",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          }
        },
        "subject": "New Document"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7454b3fc-cce6-4ea7-a0c1-a3a17f86cbc4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        860,
        -220
      ],
      "parameters": {
        "width": 1460,
        "height": 640,
        "content": "## Foxit PDF Services\n\nThis block handles the integration with [Foxit PDF Services](https://developer-api.foxit.com/pdf-services/). You will need to get your own credentials to let this work."
      },
      "typeVersion": 1
    },
    {
      "id": "6ca1406b-ee37-4df7-b1df-628cc9d55f40",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -560
      ],
      "parameters": {
        "color": 5,
        "width": 700,
        "height": 360,
        "content": "## Requirements\n\nThis flow makes use of three things that you'll need to setup. First, is an active OneDrive account with a specific folder ID. That be a bit tricky and you *could* modify it to just use an entire account, just be careful.\n\nSecondly, you'll need credentials for [Foxit PDF Services](https://developer-api.foxit.com/pdf-services/), there's a free trial available.\n\nLastly, it emails the result to a user, in this case, me, so be sure to setup your own GMail auth, and change the TO field unless you want me to get your documents. ;)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "versionId": "56bdb01a-d76c-45c9-b8e5-87e981af6258",
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Is the job done?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download": {
      "main": [
        [
          {
            "node": "Email PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get File": {
      "main": [
        [
          {
            "node": "Set File Field",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Task": {
      "main": [
        [
          {
            "node": "Is the job done?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to PDF": {
      "main": [
        [
          {
            "node": "Check Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter to Word": {
      "main": [
        [
          {
            "node": "Get File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set File Field": {
      "main": [
        [
          {
            "node": "Upload to Foxit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Foxit": {
      "main": [
        [
          {
            "node": "Convert to PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is the job done?": {
      "main": [
        [
          {
            "node": "Download",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Microsoft OneDrive Trigger": {
      "main": [
        [
          {
            "node": "Filter to Word",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Use cases would be environments where incoming documents are dropped into cloud storage and a human needs to review them. By converting to PDF, it becomes easier to read in a consistent format in the browser. Listen for new files added in a OneDrive folder, identified by an ID…

Source: https://n8n.io/workflows/6007/ — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Email & Gmail

Splitout Code. Uses manualTrigger, httpRequest, stickyNote, splitOut. Event-driven trigger; 46 nodes.

HTTP Request, Execute Workflow Trigger, Gmail +1
Email & Gmail

Automate CSV imports into HubSpot without the mess. Powered by n8n. Supercharged by Pollup AI.

HTTP Request, Execute Workflow Trigger, Gmail +1
Email & Gmail

Calendar and Meeting Prep Workflow. Uses googleCalendar, gmail, clickUp, httpRequest. Event-driven trigger; 38 nodes.

Google Calendar, Gmail, ClickUp +1
Email & Gmail

Recruiting agency. Uses typeformTrigger, airtable, httpRequest, googleDrive. Event-driven trigger; 36 nodes.

Typeform Trigger, Airtable, HTTP Request +4
Email & Gmail

Automatically processes new orders added to Google Sheets. Small orders are approved instantly; large orders trigger an HTML email with one-click Approve / Reject links — each handled by an independen

Google Sheets Trigger, Google Sheets, Gmail +1