This workflow corresponds to n8n.io template #13892 — we link there as the canonical source.
This workflow follows the Google Drive → Google Drive Trigger 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 →
{
"id": "pdf-watermark-protect-gdrive",
"name": "Automatically Watermark and Password-Protect New PDFs in Google Drive with Autype",
"tags": [],
"nodes": [
{
"id": "34427cf7-cbb9-4b7c-8a07-cdd0a6c8c11c",
"name": "New PDF Uploaded to Drive",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
432,
208
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "YOUR_FOLDER_ID",
"cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_FOLDER_ID",
"cachedResultName": "Your Folder"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "64a1aa76-575d-441e-94de-9ac48e648c2e",
"name": "Download PDF from Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
704,
208
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "c064c0b2-dedc-4622-baf6-5f1a5f8b125e",
"name": "Upload PDF to Autype",
"type": "n8n-nodes-autype.autype",
"position": [
976,
208
],
"parameters": {
"resource": "file"
},
"credentials": {
"autypeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "3980bc9a-5655-429c-9661-cac956aac28b",
"name": "Add Watermark",
"type": "n8n-nodes-autype.autype",
"position": [
1232,
208
],
"parameters": {
"fileId": "={{ $json.id }}",
"resource": "documentTools",
"operation": "watermark",
"downloadOutput": true,
"watermarkOptions": {
"opacity": 0.3,
"fontSize": 50,
"rotation": -45
}
},
"credentials": {
"autypeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "ff4f32b4-c990-4989-a158-588ead63bb68",
"name": "Save Watermarked PDF to Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1504,
208
],
"parameters": {
"name": "={{ $('Download PDF from Drive').item.json.name.replace(/\\.pdf$/i, '') }}-watermark.pdf",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "YOUR_FOLDER_ID",
"cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_FOLDER_ID",
"cachedResultName": "Your Folder"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "3b78ab54-9cd3-4bea-8869-23e3125c1231",
"name": "Password-Protect PDF",
"type": "n8n-nodes-autype.autype",
"position": [
1232,
544
],
"parameters": {
"fileId": "={{ $json.id }}",
"resource": "documentTools",
"operation": "protect",
"downloadOutput": true,
"protectOptions": {
"userPassword": "open-secret",
"ownerPassword": "owner-secret"
}
},
"credentials": {
"autypeApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "dfef3221-c2bb-4999-91e1-c43d8aa7aeaa",
"name": "Save Protected PDF to Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1504,
544
],
"parameters": {
"name": "={{ $('Download PDF from Drive').item.json.name.replace(/\\.pdf$/i, '') }}-protected.pdf",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "YOUR_FOLDER_ID",
"cachedResultUrl": "https://drive.google.com/drive/folders/YOUR_FOLDER_ID",
"cachedResultName": "Your Folder"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "5401ddbc-72b5-4bc8-b89a-39e764d8361f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-208,
-128
],
"parameters": {
"width": 520,
"height": 780,
"content": "## Automatically Watermark and Password-Protect New PDFs in Google Drive\n### When a new PDF is uploaded to a Google Drive folder, this workflow automatically creates two secure versions: one with a \"CONFIDENTIAL\" watermark and one with password protection.\n\nActivate the workflow and it runs hands-free. Every new PDF in the watched folder gets processed within a minute.\n\n### How it works\n1. **New PDF Uploaded to Drive** \u2014 Google Drive Trigger watches a specific folder for new files (polls every minute).\n2. **Download PDF from Drive** \u2014 Downloads the new file as binary data.\n3. **Upload PDF to Autype** \u2014 Uploads to Autype Document Tools storage once (file ID valid for 60 min). Both branches use this same ID.\n4. **Branch A \u2014 Watermark:** Add Watermark \u2192 Save `*-watermark.pdf` to Drive.\n5. **Branch B \u2014 Protect:** Password-Protect PDF \u2192 Save `*-protected.pdf` to Drive.\n\nBoth branches run in parallel. No re-upload needed.\n\n### Requirements\n* **Autype account** \u2014 Sign up at [app.autype.com](https://app.autype.com) and go to **Settings \u2192 API Keys** to generate your API key.\n* **Google Drive** \u2014 Connect your Google account via OAuth2 in n8n credentials.\n* **n8n-nodes-autype** \u2014 Install the Autype community node via **Settings \u2192 Community Nodes** in your self-hosted n8n instance.\n\n> \u26a0\ufe0f Community node: requires self-hosted n8n. Not available on n8n Cloud."
},
"typeVersion": 1
},
{
"id": "94d57c82-1a80-4fbe-a3da-0b59e5e60846",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
368,
64
],
"parameters": {
"color": 7,
"width": 520,
"height": 340,
"content": "### 1. Trigger & Download\nThe Google Drive Trigger polls the watched folder every minute. When a new file appears, it downloads the PDF binary and uploads it once to Autype. The returned file ID is shared by both parallel branches."
},
"typeVersion": 1
},
{
"id": "12cb2442-1221-4bfb-842d-08a4c6424e0a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1184,
64
],
"parameters": {
"color": 7,
"width": 508,
"height": 292,
"content": "### 2.1 Watermark & Save\nStamps a diagonal \"CONFIDENTIAL\" watermark on the uploaded PDF and saves the result back to Google Drive as `*-watermark.pdf`. Runs in parallel with branch 2.2."
},
"typeVersion": 1
},
{
"id": "9cada5de-f549-4d0a-8207-d27954ce4edc",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1184,
416
],
"parameters": {
"color": 7,
"width": 512,
"height": 292,
"content": "### 2.2 Protect & Save\nEncrypts the uploaded PDF with a user password (to open) and owner password (to edit), then saves as `*-protected.pdf` in the same folder. Runs in parallel with branch 2.1 \u2014 no re-upload needed."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "docs-v2",
"connections": {
"Add Watermark": {
"main": [
[
{
"node": "Save Watermarked PDF to Drive",
"type": "main",
"index": 0
}
]
]
},
"Password-Protect PDF": {
"main": [
[
{
"node": "Save Protected PDF to Drive",
"type": "main",
"index": 0
}
]
]
},
"Upload PDF to Autype": {
"main": [
[
{
"node": "Add Watermark",
"type": "main",
"index": 0
},
{
"node": "Password-Protect PDF",
"type": "main",
"index": 0
}
]
]
},
"Download PDF from Drive": {
"main": [
[
{
"node": "Upload PDF to Autype",
"type": "main",
"index": 0
}
]
]
},
"New PDF Uploaded to Drive": {
"main": [
[
{
"node": "Download PDF from Drive",
"type": "main",
"index": 0
}
]
]
},
"Save Watermarked PDF to Drive": {
"main": [
[]
]
}
}
}
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.
autypeApigoogleDriveOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Important: This workflow uses the Autype community node and requires a self-hosted n8n instance.
Source: https://n8n.io/workflows/13892/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Code Filter. Uses stickyNote, googleDrive, noOp, googleDriveTrigger. Event-driven trigger; 20 nodes.
Purpose: Automate the process of finding and managing duplicate files in your Google Drive.
Important: This workflow uses the Autype community node and requires a self-hosted n8n instance.
Remove Advanced Background from Google Drive Images. Uses httpRequest, splitOut, googleDrive, editImage. Event-driven trigger; 16 nodes.
Create Custom Presentations per Lead. Uses googleDrive, googleSheets, googleDriveTrigger, googleSlides. Event-driven trigger; 14 nodes.