6 templates found
Category:
Author:
Sort:

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

Sync Discord scheduled events to Google Calendar

This workflow syncs Discord scheduled events to Google Calendar. On a specified schedule, a request to Discord's API is made to get the scheduled events on a particular server. Only the events that have not been created or have recently been updated will be sent to Google Calendar. Prerequisites Discord account and Discord credentials. Google account and Google credentials. How it works Triggers off on the On schedule node. Gets the scheduled events from Discord. The IDs of the Discord scheduled events are used to get the events from Google Calendar, since the IDs are the same on creation of the Google Calendar event. We can now determine which events are new or have been updated. The new or updated events are created or updated in Google Calendar.

n8n TeamBy n8n Team
1845

AI-powered meeting research & daily agenda with Google Calendar, Attio CRM, and Slack

Research meeting attendees and prepare daily agenda in Slack This workflow automatically researches your meeting attendees every morning and sends you a comprehensive brief in Slack with context about who you're meeting, their company, and key talking points. Who's it for Sales professionals who need quick context before meetings Executives with packed calendars who need meeting preparation Customer success teams managing multiple client relationships Account managers preparing for client calls Business development teams researching prospects Anyone who wants to be better prepared for their daily meetings How it works Daily Trigger: Runs every weekday morning at 6 AM (customizable) to analyze your Google Calendar Calendar Analysis: Fetches all meetings scheduled for today and filters for external meetings (those with attendees other than yourself) AI-Powered Research: For each external meeting, an AI agent researches attendees using multiple sources: Searches your CRM (Attio) for existing contact information Queries Gmail history for past email interactions Searches past calendar events for previous meetings with attendees Performs web searches for recent news about attendees and their companies Retrieves company data from Apollo.io including industry, size, and technologies CRM Updates: Automatically creates new contact records in Attio for unknown attendees and adds meeting preparation notes to existing contacts Brief Generation: Compiles all research into a scannable, actionable meeting brief with key talking points Slack Delivery: Sends the formatted brief to your designated Slack channel for easy mobile access Setup requirements Google Calendar OAuth2 connection (for fetching meetings) Slack workspace with bot permissions (for receiving briefs) Gmail OAuth2 connection (for email history search) OpenRouter API key (for AI processing) Attio CRM account and API token (optional - for contact management) Apollo.io API key (optional - for company research) Anthropic API key (optional - for advanced web search) How to customize Adjust Schedule: Modify the Schedule Trigger node to run at your preferred time - change from 6 AM to whenever works best for your schedule Customize Research Sources: Remove CRM integration if you don't use Attio Remove Apollo.io if you don't need company research Add additional research tools as needed Modify Output Format: Edit the prompt in "Format Daily Meeting Brief" node to change how the information is structured and presented Change Delivery Method: Replace Slack with Microsoft Teams, email, or Discord Add multiple delivery channels if needed Send to different channels based on meeting type Filter Meetings: Adjust the filtering logic to include/exclude certain types of meetings based on keywords, attendees, or calendar properties Advanced customization Add VIP alerts: Create special handling for meetings with executives or key clients Include preparation documents: Automatically attach relevant files from Google Drive Time zone handling: Adjust for meetings across different time zones Language support: Modify prompts to generate briefs in different languages

Harry SigginsBy Harry Siggins
586

Process contact form submissions with validation and MongoDB storage

This n8n workflow securely processes contact form submissions by validating user input, formatting the data, and storing it in a MongoDB database. The flow ensures data consistency, prevents unsafe entries, and provides a confirmation response back to the user. Workflow Form Submission Node Purpose: Serves as the workflow’s entry point. Functionality: Captures user input from the contact form, which typically includes: name last name email phone number Code Node (Validation Layer) Purpose: Ensures that collected data is valid and secure. Validations performed: Removes suspicious characters to mitigate risks like SQL injection or script injection. Validates the phone_number field format (numeric, correct length, etc.). If any field fails validation, the entry is marked as “isnotvalid” to block it from database insertion. Edit Fields Node (Data Formatting) Purpose: Normalizes data before database insertion. Transformations applied: Converts field names to snakecase (*firstname, lastname, phonenumber*). Standardizes field naming convention for consistency in MongoDB storage. MongoDB Node (Insert Documents) Purpose: Persists validated data in MongoDB Atlas. Process: Inserts documents into the target collection with the cleaned and formatted fields. Connection is established securely using a MongoDB Atlas connection string (URI). 🔧 How to Set Up MongoDB Atlas Connection URL a. Create a Cluster b. Log in to MongoDB Atlas and create a new cluster. c. Configure Database Access: Add a database user with a secure username and password, Assign appropriate roles (e.g., Atlas Admin for full access or Read/Write for limited). d. Obtain Connection String (URI) From Atlas, go to Clusters → Connect → Drivers. Copy the provided connection string, which looks like: mongodb+srv://<username>:<password>@cluster0.abcd123.mongodb.net/myDatabase?retryWrites=true&w=majority Configure in n8n In the MongoDB node, paste the URI. Replace <username>, <password>, and myDatabase with your actual credentials and database name. Test the connection to ensure it is successful. Form Ending Node Purpose: Provides closure to the workflow. Functionality: Sends a confirmation response back to the user, indicating that their contact details were successfully submitted and stored. ✅ Result: With this workflow, all contact form submissions are safely validated, normalized, and stored in MongoDB Atlas, ensuring both data integrity and security basic.

Samuel HerediaBy Samuel Heredia
331

Generate SSL/TLS certificate expiry reports with AWS ACM and AI for Slack & email

Automated SSL/TLS Certificate Expiry Report for AWS > Automatically generates a weekly report of all AWS ACM certificates, including status, expiry dates, and renewal eligibility. The workflow formats the data into both Markdown (for PDF export to Slack) and HTML (for email summary), helping teams stay on top of certificate compliance and expiration risks. Who’s it for This workflow is designed for DevOps engineers, cloud administrators, and compliance teams who manage AWS infrastructure and need automated weekly visibility into the status of their SSL/TLS certificates in AWS Certificate Manager (ACM). It's ideal for teams that want to reduce the risk of expired certs, track renewal eligibility, and maintain reporting for audit or operational purposes. How it works / What it does This n8n workflow performs the following actions on a weekly schedule: Trigger: Automatically runs once a week using the Weekly schedule trigger. Fetch Certificates: Uses Get many certificates action from AWS Certificate Manager to retrieve all certificate records. Parse Data: Processes and reformats certificate data (dates, booleans, SANs, etc.) into a clean JSON object. Generate Reports: 📄 Markdown Report: Uses the Certificate Summary Markdown Agent (OpenAI) to generate a Markdown report for PDF export. 🌐 HTML Report: Uses the Certificate Summary HTML Agent to generate a styled HTML report for email. Deliver Reports: Converts Markdown to PDF and sends it to Slack as a file. Sends HTML content as a formatted email. How to set up Configure AWS Credentials in n8n to allow access to AWS ACM. Create a new workflow and use the following nodes in sequence: Schedule Trigger: Weekly (e.g., every Monday at 08:00 UTC) AWS ACM → Get many certificates Function Node → Parse ACM Data: Converts and summarizes certificate metadata OpenAI Chat Node (Markdown Agent) with a system/user prompt to generate Markdown Configure Metadata → Define file name and MIME type (.md) Create document file → Converts Markdown to document stream Convert to PDF Slack Node → Upload the PDF to a channel (Optional) Add a second OpenAI Chat Node for generating HTML and sending it via email Connect Output: Markdown report → Slack file upload HTML report → Email node with embedded HTML Requirements 🟩 n8n instance (self-hosted or cloud) 🟦 AWS account with access to ACM 🟨 OpenAI API key (for ChatGPT Agent) 🟥 Slack webhook or OAuth credentials (for file upload) 📧 Email integration (e.g., SMTP or SendGrid) 📝 Permissions to write documents (Google Drive / file node) How to customize the workflow Change report frequency: Adjust the Weekly schedule trigger to daily or monthly as needed. Filter certificates: Modify the function node to only include EXPIRED, IN_USE, or INELIGIBLE certs. Add tags or domains to include/exclude. Add visuals: Enhance the HTML version with colored rows, icons, or company branding. Change delivery channels: Replace Slack with Microsoft Teams, Discord, or Telegram. Send Markdown as email attachment instead of PDF. Integrate ticketing: Create a JIRA/GitHub issue for each certificate that is EXPIRED or INELIGIBLE.

Trung TranBy Trung Tran
135

INST - the n8n installer: deploy workflows with automatic credential mapping

INST: The n8n Workflow Installer This workflow provides everything you need to package and deploy multiple workflows from a single workflow you distribute. That's right, now you can package up dozens of workflows and send your client(s) a single workflow to run, that will create them all and auto-assign all the credentials. This workflow installs 3 files when you run it, demonstrating the functionality. Just make your own mods to the system, repackage it, and you are ready to go! --- Requirements An n8n instance with API access enabled and an access key Optional: GitHub and OpenAI access keys --- What This Workflow Does Installs 3 additional workflows, demonstrating the functionality One of the workflows is a packager, that you configure for your own needs Two example workflows demonstrate functionality, and can be deleted --- Step-by-Step Setup Run the Workflow This will get the example and tool workflows on your instance. Package Your Content Configure the packager, then run it to produce a base64-compressed version of your files. Customize the Installer Make your own copy of the installer, and set the base64 payload. Deploy the Installer Export your installer script. Now, anyone you send it to will get all your packaged workflows when they execute it. --- How to Use This Workflow This workflow is meant to be reused and adapted. You can: Integrate it into a deployment pipeline Turn it into a subworkflow for dynamic installs Extend it to include triggers, permission settings, or test runs If you frequently deploy or share n8n assets, this installer gives you a repeatable way to do it with confidence.

WyethBy Wyeth
108
All templates loaded