Back to Catalog

Templates by CustomJS

Generate PDF invoices with CustomJS API

n8n Workflow: Invoice PDF Generator This n8n workflow captures invoice data and generates a PDF invoice, ready to be sent or saved. It uses a webhook to trigger the process, preprocesses the invoice data, and converts it to a PDF using HTML and custom styling. @custom-js/n8n-nodes-pdf-toolkit Features: Webhook Trigger: Receives incoming data, including invoice details. Preprocessing: Transforms the invoice data into HTML format. HTML to PDF Conversion: Converts the preprocessed HTML into a styled PDF document. Response: Sends the generated PDF back to the webhook response. Notice Community nodes can only be installed on self-hosted instances of n8n. Requirements Self-hosted n8n instance A CustomJS API key for website screenshots. Invoice data for PDF generation Workflow Steps: Webhook Trigger: Accepts incoming data (e.g., invoice number, recipient details, itemized list). This data is passed to the next node for processing. Set Data Node: Configures initial values for the invoice, including the recipient, sender, invoice number, and the items on the invoice. The invoice details include information like description, unit price, and quantity. Preprocess Node: Processes the raw data to format it correctly for HTML. This includes splitting addresses and converting the items into an HTML table format. HTML to PDF Conversion: Converts the generated HTML into a PDF document. The HTML includes a header, a detailed invoice table, and a footer with contact information. Respond to Webhook: Returns the generated PDF as a response to the initial webhook request. --- Setup Guide: Configure CustomJS API Sign up at CustomJS. Retrieve your API key from the profile page. Add your API key as n8n credentials. Design Workflow Create a Webhook: Set up a webhook to trigger the workflow when invoice data is received. Prepare Data: Ensure the incoming request contains fields like "Invoice No", "Bill To", "From", and "Details" (list of items with price and quantity). Customize the HTML: The HTML template for the invoice includes custom styling to give the invoice a professional look. Convert to PDF: The HTML to PDF node is configured with the data generated from the preprocessing step to convert the invoice HTML to a PDF format. --- Example Invoice Data: json { "Invoice No": "1", "Bill To": "John Doe\n1234 Elm St, Apt 567\nCity, Country, 12345", "From": "ABC Corporation\n789 Business Ave\nCity, Country, 67890", "Details": [ { "description": "Web Hosting", "price": 150, "qty": 2 }, { "description": "Domain", "price": 15, "qty": 5 } ], "Email": "support@mycompany.com" } Result PDF File

CustomJSBy CustomJS
7567

Convert HTML & PDF files to PNG images with CustomJS PDF Toolkit

This n8n workflow shows how to convert PDF files into PNG format with the PDF Toolkit from www.customjs.space. @custom-js/n8n-nodes-pdf-toolkit Notice Community nodes can only be installed on self-hosted instances of n8n. What this workflow does Generate PDF file from the requested HTML. Convert the PDF to PNG images. Use a Code node to handle URLs that point to PDF files. Convert the PDF to PNG format. Requirements Self-hosted n8n instance. CustomJS API key for converting PDF to PNG. HTML Data to convert PDF files. Code node for handling URL that indicates PDF file. Workflow Steps: Manual Trigger: Runs with user interaction. HTML to PDF: Request HTML Data. Convert HTML to PDF. Request PDF from Code. Convert PDF to PNG: Convert the generated PNG from PDF --- Usage Get API key from customJS Sign up to customJS platform. Navigate to your profile page Press "Show" button to get API key Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here. Design workflow A Manual Trigger for starting workflow. HTTP Request Nodes for downloading PDF files. Code node for handling URL that indicates PDF file. Convert PDF to PNG. You can replace logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

CustomJSBy CustomJS
4006

Convert HTML to PDF and return via webhook using CustomJS API

! n8n Workflow: HTML to PDF Generator This n8n workflow converts HTML content into a styled PDF and returns it as a response via a webhook. The workflow receives HTML input, processes it using CustomJS's PDF toolkit, and sends back the resulting PDF to the original webhook requester. @custom-js/n8n-nodes-pdf-toolkit Features: Webhook Trigger: Accepts incoming requests with HTML content. HTML to PDF Conversion: Uses CustomJS to transform HTML into a PDF. Response: Sends the generated PDF back to the webhook response. Requirements: Self-hosted n8n instance A CustomJS API key for HTML to PDF conversion HTML content to be converted into a PDF Workflow Steps: Webhook Trigger: Accepts incoming HTTP requests with HTML content. This data is passed to the next node for processing. HTML to PDF Conversion: Uses the CustomJS node to convert the incoming HTML into a PDF document. You can customize the HTML content to match the design requirements. Respond to Webhook: Sends the generated PDF as a binary response to the original webhook request. --- Setup Guide: Configure CustomJS API Sign up at CustomJS. Retrieve your API key from the profile page. Add your API key as n8n credentials. Design Workflow Create a Webhook: Set up a webhook to trigger the workflow when HTML content is received. Prepare HTML Content: The incoming request should include the HTML content you wish to convert into a PDF. Configure HTML to PDF Node: Use the HTML to PDF node to convert the provided HTML into a PDF. The node uses the HTML input to generate a PDF using the CustomJS API. Respond with the PDF: The Respond to Webhook node will send the generated PDF back to the original requester as a binary response. --- Example HTML Input: html <h1>Hello CustomJS!</h1> <h2>CustomJS provides the missing toolset for your no-code projects</h2> Result PDF

CustomJSBy CustomJS
3742

Capture website screenshots via Google Sheets to Google Drive with CustomJS

n8n Workflow: Automating Website Screenshots from Google Sheets This n8n workflow captures screenshots of websites listed in a Google Sheet and saves them to Google Drive using the CustomJS PDF Toolkit. @custom-js/n8n-nodes-pdf-toolkit Features Monitors a Google Sheet for new rows with website URLs. Captures screenshots of the websites using the CustomJS PDF Toolkit. Uploads the screenshots to a specified Google Drive folder. Notice Community nodes can only be installed on self-hosted instances of n8n. Requirements Self-hosted n8n instance A Google Sheets document containing website URLs and Titles. A Google Drive folder to store the screenshots. A CustomJS API key for website screenshots. n8n credentials for Google Sheets and Google Drive. Workflow Steps Google Sheets Trigger Monitors a specified sheet for new rows. Extracts the URL and Title from the row. Website Screenshot Node Uses CustomJS PDF Toolkit to take a screenshot of the given URL. Google Drive Upload Saves the screenshot to a specific Google Drive folder. Uses the Title column as the filename. Setup Guide Connect Google Sheets Ensure your Google Sheet has a column named Url for website URLs and Name for website names. Set up Google Sheets credentials in n8n. Configure CustomJS API Sign up at CustomJS. Retrieve your API key from the profile page. Add your API key as n8n credentials. Set Up Google Drive Create a folder in Google Drive to store screenshots. Copy the folder ID and set it in the Google Drive node in n8n. Perfect for: Website monitoring Generating visual archives of web pages Automating content curation This workflow streamlines the process of capturing and organizing website screenshots efficiently.

CustomJSBy CustomJS
2588

Convert HTML to PDF & extract text from PDFs with CustomJS API

This n8n workflow illustrates how to convert PDF files into text with the PDF Toolkit from www.customjs.space. @custom-js/n8n-nodes-pdf-toolkit Notice Community nodes can only be installed on self-hosted instances of n8n. What this workflow does Change the requested HTML to PDF.. Extract text from the PDF. Use a Code node to handle URLs that point to PDF files. Convert the PDF to text. Requirements Self-hosted n8n instance. CustomJS API key for converting PDF to text. HTML Data to convert PDF files. Code node for handling URL that indicates PDF file. Workflow Steps: Manual Trigger: Runs with user interaction. HTML to PDF: Request HTML Data Convert HTML to PDF Convert PDF to Text: Convert the generated Text from PDF --- Usage Get API key from customJS Sign up to customJS platform. Navigate to your profile page Press "Show" button to get API key Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here. Design workflow A Manual Trigger for starting workflow. HTTP Request Nodes for downloading PDF files. Code node for handling URL that indicates PDF file. Convert PDF to Text. You can replace logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

CustomJSBy CustomJS
2503

Convert HTML to PDF and compress files with CustomJS API

This n8n template demonstrates how to convert HTML into a PDF, compress the generated PDF, and return it as a binary response using the PDF Toolkit from www.customjs.space. Notice Community nodes can only be installed on self-hosted instances of n8n. @custom-js/n8n-nodes-pdf-toolkit What this workflow does Convert the requested HTML to PDF. Compress the PDF file. Use a Code node to handle URLs pointing to PDF files if they exceed 6MB. Compress the PDF pages. Requirements Self-hosted n8n instance CustomJS API key for compressing PDF files. HTML Data to convert PDF files Code node for handling URL that indicates PDF file. Workflow Steps: Manual Trigger: Runs with user interaction. HTML to PDF: Request HTML Data Convert HTML to PDF Request PDF from URL. Compress Pages from PDF: Compress PDF as a binary file. --- Usage Get API key from customJS Sign up to customJS platform. Navigate to your profile page Press "Show" button to get API key Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here. Design workflow A Manual Trigger for starting workflow. HTTP Request Nodes for downloading PDF files. Code node for handling URL that indicates PDF file. Compress PDF files. You can replace logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes.

CustomJSBy CustomJS
1916

Merge multiple PDF files with CustomJS API

This n8n template demonstrates how to download multiple PDF files from public URLs and merge them into a single PDF using the PDF Toolkit from www.customjs.space. @custom-js/n8n-nodes-pdf-toolkit Notice Community nodes can only be installed on self-hosted instances of n8n. What this workflow does Downloads each PDF using an HTTP Request. Populates files into an array with Merge node from n8n. Merges all downloaded PDFs using the Merge PDF node from the @custom-js/n8n-nodes-pdf-toolkit. Writes the final merged PDF to disk. Requirements Self-hosted n8n instance CustomJS API key for merging multiple PDF files. PDF files to be merged to be converted into a PDF Workflow Steps: Manual Trigger: Runs with user interaction. HTTP Request Node For PDF Download: Pass urls for PDF files to merge. Merge Node For Array Population: Just populates two files into an array. Merge PDF files: Uses the CustomJS node to merge the incoming PDF files into a single PDF file. If size of PDF files exceeds 6MB, you can simply pass an array of URLs for PDF files. --- Usage Get API key from customJS Sign up to customJS platform. Navigate to your profile page Press "Show" button to get API key Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here. Design workflow A Manual Trigger for starting workflow. Two HTTP Request Nodes for downloading PDF files. A Merge Node for populating files as an array. Merge PDFs node for merging files Write to Disk node for saving merged PDF file. You can replace logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes. Perfect for Bundling reports or invoices. Generating document sets from external sources. Automating PDF handling without writing custom code

CustomJSBy CustomJS
1048

Extract specific pages from PDFs with CustomJS API

This n8n template shows how to extract selected pages from a generated PDF with the PDF Toolkit by www.customjs.space. @custom-js/n8n-nodes-pdf-toolkit Notice Community nodes can only be installed on self-hosted instances of n8n. What this workflow does Downloads each PDF using an HTTP Request. Extract pages from the PDF file as needed. Requirements Self-hosted n8n instance CustomJS API key for extracting PDF files. PDF files to be merged to be converted into a PDF Workflow Steps: Manual Trigger: Runs with user interaction. Download PDF File: Pass urls for PDF files to merge. Extract Pages from PDF: Extract selected pages from a generated PDF --- Usage Get API key from customJS Sign up to customJS platform. Navigate to your profile page Press "Show" button to get API key Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here. Design workflow A Manual Trigger for starting workflow. HTTP Request Nodes for downloading PDF files. Extract Pages from PDF. You can replace logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes. Perfect for Taking a note of specific pages from PDF files. Splitting PDF file into multiple parts.

CustomJSBy CustomJS
619

Automated PDF form processing with web forms and email delivery

&gt; ⚠️ Notice: &gt; Community nodes like @custom-js/n8n-nodes-pdf-toolkit can only be installed on self-hosted instances of n8n. --- This n8n workflow demonstrates how to collect form submissions from a landing page, fill a PDF form automatically, and send it via email. It uses the PDF Form Fill node from customjs.space to populate PDF fields with the submitted data. --- What this workflow does Serves a landing page with a user-friendly form. Receives form submissions via a Webhook. Uses the HTTP Request node to fetch a PDF template. Fills the PDF form fields with the submitted data using the PDF Form Fill node. Optionally reads PDF form field names using Get PDF Form Fields. Sends the completed PDF as an email attachment. --- Requirements Self-hosted n8n instance. CustomJS API key for the PDF Toolkit nodes. SMTP account for sending emails. Optional: Access to the PDF template online. --- Workflow Steps Landingpage Endpoint (Webhook) Serves the landing page HTML to visitors. Set Form Endpoint Dynamically injects the endpoint URL into the HTML form. HTML for Landingpage Provides the form where users enter personal information (name, address, city, country, etc.). Respond to Webhook Returns the landing page HTML to the visitor. FormData Endpoint (Webhook) Receives the submitted form data as JSON. HTTP Request – Get PDF Template Fetches the PDF form template from a URL. PDF Form Fill (Fill PDF Fields) Populates the PDF with the submitted form data. Get PDF Form Fields (Optional) Reads and lists the names of the form fields in the PDF. Send Email Sends the completed PDF as an attachment to a configured recipient. Sticky Notes Provide documentation within the workflow for easier understanding and maintenance. --- Usage Get API key from CustomJS Sign up on the CustomJS platform. Navigate to your profile page and copy your API key. Set Credentials for CustomJS API in n8n Create a new credential in n8n with your API key. Prepare SMTP Credentials Add your SMTP server credentials to n8n for sending emails. Run or schedule the workflow The workflow will serve the landing page, fill the PDF form with submissions, and send it via email. --- Customization Tips Modify the landing page form in the HTML node to add or remove fields. Change PDF template URL in the HTTP Request node. Add more recipients or dynamic email addresses in the Send Email node. Track submitted form data in Google Sheets or a database for long-term storage. Extend workflow logic with validation or notifications using additional nodes.

CustomJSBy CustomJS
271

Monitor competitor SEO changes with CustomJS Scraper, Google Sheets & Slack alerts

&gt; ⚠️ Notice: &gt; Community nodes like @custom-js/n8n-nodes-pdf-toolkit can only be installed on self-hosted instances of n8n. --- This n8n workflow demonstrates how to monitor competitor websites for SEO changes by scraping content and updating a Google Sheet. It uses the Scraper node from customjs.space to extract HTML content and parse key SEO elements like title, <h1>, <h2>, and meta description. --- What this workflow does Reads a list of competitor websites from a Google Sheet. Uses the CustomJS Scraper node to fetch raw HTML for each website. Extracts important SEO data: Page title <h1> headings <h2> headings Meta description Updates the Google Sheet with the latest scraped values and a timestamp. Compares the new values with the previous ones: If changes are detected, a Slack notification is sent. --- Requirements Self-hosted n8n instance. CustomJS API key for the Scraper node. A Google Sheet containing competitor website URLs. Slack workspace (optional, for notifications). --- Workflow Steps Schedule Trigger Runs automatically (weekly by default, adjustable as needed). Google Sheets – Get Competitor URLs Reads competitor website URLs from the configured sheet. CustomJS Scraper – Fetch HTML Inputs each website URL. Returns raw HTML text for analysis. Code – Extract SEO Elements Parses the HTML to extract: Title H1s H2s Meta description Google Sheets – Update SEO Data Updates the sheet with the new SEO data and a current date. If – Check for SEO Changes Compares old vs. new values. Slack Notification – Alert on Changes Sends a message to Slack when updates are detected. --- Usage Get API key from CustomJS Sign up on the CustomJS platform. Navigate to your profile page. Click “Show” to reveal your API key. Set Credentials for CustomJS API in n8n Copy your API key into a new CustomJS credential. Prepare your Google Sheet Create a sheet with a column named Websites. Enter competitor URLs (must start with https://). Run or schedule the workflow The workflow will scrape competitor sites, update the sheet, and notify you of any SEO changes. --- Example Output Google Sheet after update: | Websites | Title | Meta Description | H1s | H2s | Date | |----------------------|------------------------|--------------------------|--------------------|-------------|---------------------| | https://example.com | Example Title | Example meta description | Example H1 Heading | Example H2s | 2025-09-07 12:00:00 | Slack Notification Example &gt; ⚠️ Competitor SEO Change Detected! Website: https://example.com Title Old: Example Title New: New Example Title Meta Description Old: Example meta description New: Updated example meta description H1s Old: Example Heading New: Updated Heading H2s Old: Example Subheading New: Updated Subheading Date: 2025-09-07 12:00:00 --- Customization Tips Change scraping frequency in the Schedule Trigger (daily, weekly, etc.). Track additional elements by extending the regex in the Code Node. Send alerts to other platforms (e.g., Email, Microsoft Teams, Discord) by swapping the Slack node. Store results in a database instead of Google Sheets if long-term history is required.

CustomJSBy CustomJS
184

Automatic invoice generation and email with Airtable and CustomJS PDF generator

&gt; ⚠️ Notice: &gt; This workflow uses the CustomJS Invoice Generator node from customjs.space, which requires a self-hosted n8n instance and a CustomJS API key. --- Google Spreadsheet → Invoice Generation → Email Workflow This workflow demonstrates how to: Pull invoices ready to be sent from Airtable. Retrieve client details and invoice items from Airtable. Generate a professional invoice PDF using CustomJS Invoice Generator. Send the completed invoice via email to the client. Update the invoice status in Airtable automatically. Public Airtable Example --- Workflow Overview Trigger Workflow Node: When clicking ‘Execute workflow’ (Manual Trigger) Starts the workflow when executed manually in n8n. Get Ready Invoices Node: Get Ready Invoices (Airtable) Retrieves all invoices from Airtable where Status = 'Ready'. Loop Over Items Node: Loop Over Items (Split In Batches) Processes each invoice individually. Get Clients Node: Get Clients (Airtable) Fetches client details for the current invoice: Name Address Tax ID Get Invoice Items Node: Get Invoice Items (Airtable) Retrieves all items associated with the invoice and passes them for aggregation. Map Fields Node: Map Fields (Set) Maps the invoice items into a structured format for the invoice generator: Description Quantity / Hours Unit Price Invoice ID Aggregate Node: Aggregate Aggregates all invoice items into a single JSON array for the invoice. Set Company Details Node: Set Company Details (Set) Defines issuer and payment information: Company Name Address Tax ID Email & Phone Bank Details Generate Invoice Node: Generate Invoice (CustomJS Invoice Generator) Generates a PDF invoice using all collected data: Issuer / Company information Recipient / Client information Invoice items Billing information (Invoice number, date, currency, tax, notes) Send Email With Attachment Node: Send Email With Attachment (Email Send) Sends the generated invoice PDF to the client: From: {{ $json.InvoiceEmail }} To: info@yourcomp.org Subject: Your Invoice for Last Month Body Text: Hello, Please find attached your invoice for the last month. Thank you very much for your cooperation. Best regards, Henrik Uses SMTP credentials for sending emails. Update Record Node: Update record (Airtable) Marks the invoice as Sent in Airtable. --- Requirements Self-hosted n8n instance CustomJS API key SMTP credentials Airtable API key and base access ---

CustomJSBy CustomJS
169

Generate & email custom NDA documents from web form submissions

&gt; ⚠️ Notice: &gt; This workflow uses the HTML to Docx node from customjs.space, which requires a self-hosted n8n instance and a CustomJS API key. --- Landingpage → NDA Word Document (Docx) → Email Workflow This workflow demonstrates how to: Serve a landing page for requesting an NDA. Receive form submissions from users. Generate a Word Document (Docx) version of the NDA populated with the submitted data. Send the completed NDA via email to a recipient. --- Workflow Overview Landingpage Endpoint Node: Landingpage Endpoint (Webhook) Hosts the landing page and passes the URL dynamically to the HTML node. Set Form Endpoint Node: Set Form Endpoint Stores the landing page webhook URL into a variable FormEndpoint for the HTML form to submit to. HTML for Landingpage Node: HTML for Landingpage Renders a user-friendly landing page with a form for users to fill in their personal details: First Name Last Name Address House No. Postal Code City Country Includes success and error messages after submission. Submits data as JSON to the FormData Endpoint. Respond to Webhook Node: Respond to Webhook Returns the landing page HTML to the visitor when accessing the landing page URL. FormData Endpoint Node: FormData Endpoint (Webhook) Receives the submitted form data from the landing page. Passes data to the NDA (HTML Version) node. NDA (HTML Version) Node: NDA (HTML Version) Generates a personalized NDA document in HTML using the submitted form data: Populates recipient details (name, address, city, country, etc.) NDA clauses include: Definition of Confidential Information Obligations of the Recipient Exclusions Duration Return or Destruction of information Governing Law (England & Wales) HTML to Docx Node: HTML to Docx Converts the HTML NDA to a Word Document (Docx) using the CustomJS PDF/Docx Toolkit. Requires a CustomJS API key (Coding Service credential). Send Email Node: Send email Sends the generated NDA Docx as an email attachment. Email configuration: From: test@test.de To: test@testmail.com Subject: NDA Body Text: Hello, Here is the requested NDA form. Best Henrik Uses SMTP credentials for sending emails. --- Notes Sticky Notes provide internal documentation and guidance for the workflow: Sticky Note1 – Landingpage server info Sticky Note – FormData endpoint info Dynamic Form Submission: The form posts JSON to the FormData Endpoint. Automation Flow: Landingpage → Form Submission → NDA HTML → Docx → Email --- Requirements Self-hosted n8n instance CustomJS API key SMTP credentials Optional: Tailwind CSS CDN for landing page styling --- Customization Tips Landing Page Styling: Adjust the HTML for Landingpage node for branding, colors, or additional fields. NDA Content: Edit the NDA (HTML Version) node to change NDA clauses or layout. Email Settings: Change Send email node to modify sender, recipient, or message content. Field Mapping: Ensure all form input names match the NDA template placeholders.

CustomJSBy CustomJS
144