Resources · Make integration

Custom JS Make integrationAutomate Custom JS with Make.

Need a PDF, a screenshot or a bit of code in the middle of an automation? The Custom JS Make integration gives you 20 action modules for JavaScript, Python, PDFs, web pages and SSL checks. This page shows how to connect your account and build a first working scenario.

Verified Trustpilot reviews · AI, automation & growth agency

What you can automate

What can the Custom JS Make integration do for you?

The Custom JS Make integration plugs a toolbox into your Make scenarios, the automations you build as a chain of modules. Each module is one brick: here, running JavaScript or Python, turning HTML into PDF, PNG or Word files, reworking PDFs, scraping or capturing web pages, and checking SSL certificates.

Documents that write themselves. An order lands in your shop, Invoice PDF Generator produces the invoice, and Merge PDFs attaches your terms of sale behind it. The customer gets one clean file.

Web pages turned into data. Web Scraper for HTML Extraction with Browser Automation reads a supplier page that has no export, and Take Website Screenshots via Browser Automation keeps a visual record of what it showed.

Code where no module fits. Execute inline JavaScript Code or Execute inline Python Code reshapes a value in a few lines, then hands it to the next app. For a longer path, the Make training walks through mapping step by step.

Two limits to know before you start. Custom JS has no trigger, so another app or a schedule has to start the scenario. And the Make doc lists these 20 modules by name only, with no description and no figures, so the notes below read each name and tell you what to check with Run once. The same kind of tool often exists as an n8n node too; the n8n vs Make comparison helps you pick where to build, and Make pricing explains how operations are counted.

Connect

How do you connect Custom JS to Make?

  1. 01

    Copy your API key

    Log in to your Custom JS account. On the right side of the screen, click Show under Your Api Key, then copy the value and keep it somewhere safe. Make only needs this key, nothing else.

  2. 02

    Open the connection window

    In Make, add any Custom JS module to your scenario and click Create a connection. The Connection name field is optional; a clear name helps when you later run several accounts side by side.

  3. 03

    Paste the key and save

    Paste the key into the API Key field and click Save. If Custom JS asks you to authenticate, confirm access. The connection, your account linked to Make, now serves every Custom JS module you add.

First scenario

Your first scenario with Custom JS

GoalWhen a deal is marked won in your CRM, Make builds a PDF quote with Custom JS and compresses it so a lighter file is ready to store or send.

  1. 01

    Create the scenario

    On the Scenarios page, create a new scenario and click the +. Custom JS has no trigger, so this first module comes from the app where the deal lives, your CRM for instance.

  2. 02

    Add PDF Generator (from HTML)

    Click the + on the right of the first module, search Custom JS and pick PDF Generator (from HTML). Choose your connection, then map the client name and amount from the CRM into your HTML.

  3. 03

    Chain Compress Pdf

    Click the + again and add Compress Pdf with the same connection. Map the file created by the previous module into it, so the lighter version is the one that travels on.

  4. 04

    Test with Run once

    Click Run once. Make runs the scenario a single time and shows the bundles each module received, a bundle being one item passed along. Open them to confirm the PDF exists before and after compression.

  5. 05

    Schedule and switch on

    Set the schedule on the first module, every 15 minutes by default, and switch the scenario on. Each module run on one bundle counts as one operation on your Make plan.

Modules

What each Custom JS module does in Make

Custom JS gives you 20 modules in 5 groups. For each one: what it does for you, when to reach for it, and what to watch out for.

JavaScript

2 modules
Custom JS1

Execute inline JavaScript Code

ActionIn the docs only

Write a few lines of JavaScript right inside the module and get their result back as data the next module can map. Custom JS describes its platform as running JavaScript with NPM modules, which covers the date math or text cleanup that is awkward with plain Make tools.

When to use it
a value from a form needs reshaping before it reaches your CRM.
Watch out
on the Free plan a scenario run lasts 5 minutes at most, so keep the snippet lean.
Custom JS2

Execute a stored JS function

ActionIn the docs only

Call a function kept in your Custom JS account instead of pasting the same code into every scenario. Going by the module name, the code lives on the Custom JS side and Make only calls it, so one edit there can serve several scenarios.

When to use it
three scenarios share one pricing calculation and you want a single place to maintain it.
Watch out
the Make doc gives no description here, so check what comes back with Run once.

Scraping / Screenshots

2 modules
Custom JS3

Web Scraper for HTML Extraction with Browser Automation

ActionIn the docs only

Pull the HTML of a web page into your scenario, loaded through a browser session as the module name spells out, rather than a bare download. You can then pass that markup to a parser, a spreadsheet or an AI module.

When to use it
a supplier shows stock levels on a page with no export button.
Watch out
every page you scrape is one bundle, so one operation, and Make counts operations on your plan.
Custom JS4

Take Website Screenshots via Browser Automation

ActionIn the docs only

Capture an image of a web page as a browser displays it, ready to attach to an email or file in a shared drive. Point it at a page address coming from the previous module and the picture moves on to the next one.

When to use it
a client wants proof of how a landing page looked when the campaign went live.
Watch out
for a new scenario, pick this one rather than Create Screenshot [Deprecated].

PDF / Image

9 modules
Custom JS5

PDF Generator (from HTML)

ActionIn the docs only

Turn an HTML template into a PDF that the next module can email, upload or archive. Build the layout once, map data from earlier modules into it, and every run produces a fresh document with the right names and amounts.

When to use it
a signed quote in your CRM should become a branded PDF for the customer.
Watch out
the Free plan caps files at 5 MB, so large images in the template can push you over.
Custom JS6

Get PDF Form Fields

ActionIn the docs only

Find out which fillable fields a PDF form contains before you try to fill it. The answer tells you which names to use in PDF Form Fill (Fill PDF Fields), which saves a lot of trial and error.

When to use it
an administration sends you an official form and you need to know what it expects.
Watch out
one test with Run once is often enough; read the bundle and note the names for the filling step.
Custom JS7

PDF Form Fill (Fill PDF Fields)

ActionIn the docs only

Fill the boxes of an existing PDF form with data from your scenario and get the completed file back. It works hand in hand with Get PDF Form Fields, which shows the field names first so your mapping lines up.

When to use it
every new hire recorded in your HR tool should receive a prefilled onboarding form.
Watch out
open the output of your Run once test and check each box you mapped before switching the scenario on.
Custom JS8

Merge PDFs

ActionIn the docs only

Combine several PDFs into one file, so the recipient opens a single document instead of a pile of attachments. Feed it the files gathered by earlier modules, then send the merged result wherever it belongs.

When to use it
a contract, its appendices and a cover letter must reach the client as one file.
Watch out
the merged file weighs more than each part, and the Free plan caps files at 5 MB.
Custom JS9

Generate PNG (from HTML)

ActionIn the docs only

Render a piece of HTML as a PNG picture. Handy when a channel takes images but not documents: you design the card once in HTML, map in a name or a figure from earlier modules, and Make hands the finished image to the next module.

When to use it
each webinar registration should produce a personal badge to post in a team chat.
Watch out
test the layout with Run once, so you can adjust the HTML before the scenario goes live.
Custom JS10

Compress Pdf

ActionIn the docs only

Shrink a PDF so it slips under attachment or storage limits. Place it right after the module that creates or downloads the file, then pass the lighter version along to email, drive or accounting tool.

When to use it
scanned delivery notes are too heavy to attach to your accounting software.
Watch out
the Make doc does not say how much smaller the file gets, so compare sizes after a Run once test.
Custom JS11

Pdf To Text

ActionIn the docs only

Lift the text out of a PDF so later modules can search it, summarize it or copy pieces into a spreadsheet. Once the words are plain text, any filter or text function in Make can work on them.

When to use it
purchase orders arrive as PDFs and you want their reference numbers in a sheet.
Watch out
a scanned page is a picture, and the doc does not say whether this module reads text inside images.
Custom JS12

PDF To PNG

ActionIn the docs only

Transform PDF pages into PNG images for previews, thumbnails or channels that only display pictures. The images then flow to the next module like any other file, ready to upload or post.

When to use it
your product sheets exist as PDFs and the online shop needs a preview image for each one.
Watch out
a document with several pages may give several images; check the output shape with Run once.
Custom JS13

Extract Pages From PDF

ActionIn the docs only

Cut a long PDF down to the pages you actually need and leave the rest behind. The smaller file is easier to send, sign or archive in the right folder, and nobody scrolls through pages meant for someone else.

When to use it
a supplier sends one thick PDF and only the signature page should go to your legal team.
Watch out
confirm which pages came out with Run once before the result reaches any email module.

Other

6 modules
Custom JS14

Run Puppeteer

ActionIn the docs only

Script a browser from your scenario with Puppeteer, a library that controls a browser through code, for web tasks the scraper and screenshot modules do not cover: logging in, clicking through pages, filling a search box.

When to use it
a carrier portal only shows your shipping labels after a login and two clicks.
Watch out
on the Free plan a scenario run lasts 5 minutes at most, and a slow site uses that time quickly.
Custom JS15

SSL Checker (SSL Certificate)

ActionIn the docs only

Check a website's SSL certificate from a scenario and turn the result into data a filter can test. Pair it with an email or chat module, and an expiring certificate reaches you before it reaches your visitors.

When to use it
you look after a handful of client sites and want a warning ahead of any lapse.
Watch out
the doc does not list what the module returns, so inspect the bundle in Run once before writing the filter.
Custom JS16

Execute inline Python Code

ActionIn the docs only

Paste Python instead of JavaScript when that is the language your team already reads. The result lands in the bundle the same way, ready to map into the next module without any export step.

When to use it
an analyst already has a Python snippet that tidies phone numbers and you want it inside the scenario unchanged.
Watch out
the Make doc says nothing about which Python libraries are available, so test your imports with Run once.
Custom JS17

HTML to DOCX (Word)

ActionIn the docs only

Produce an editable Word document from HTML. That matters when someone still has to rework the text: unlike a PDF, the .docx file opens in any word processor and can be revised before it goes out.

When to use it
your sales team wants a draft proposal they can adjust before sending it.
Watch out
start with plain HTML and add styling once a Run once test looks right in Word.
Custom JS18

Markdown to HTML Converter

ActionIn the docs only

Convert Markdown into HTML so the text displays properly in an email, a web page or the PDF and PNG modules of this app. Plenty of AI tools and note apps write Markdown, and this module bridges their output to places that expect HTML.

When to use it
a text drafted by an AI module should become the body of a formatted email.
Custom JS19

Invoice PDF Generator

ActionIn the docs only

Issue an invoice as a PDF from order data your scenario already holds. Going by its name, it targets invoices specifically, which may spare you from designing a full HTML template for PDF Generator (from HTML).

When to use it
a paid order in your shop should produce an invoice emailed to the buyer.
Watch out
the doc gives no field list, so open the module in Make to see what it asks for before planning the mapping.

Deprecated

1 module
Custom JS20

Create Screenshot [Deprecated]

ActionIn the docs only

Keep an older scenario taking screenshots while you plan its replacement: this module is still listed, but its name marks it as deprecated. Existing scenarios may keep using it for now; a new build should not depend on it.

When to use it
only when you maintain a scenario that already contains it.
Watch out
plan the switch to Take Website Screenshots via Browser Automation so nothing breaks the day it goes away.
Need help

Need help automating Custom JS with Make?

A person reads every message.

FAQ

Custom JS and Make: common questions

01Is the Custom JS Make integration free?
Yes, on the Make side. Custom JS is a standard app, so it works from the Free plan onward. That plan comes with limits: 2 active scenarios, at least 15 minutes between two scheduled runs, 5 minutes of execution per run, files up to 5 MB and 512 MB of data transfer. Paid plans drop the interval to 1 minute, remove the cap on active scenarios and allow 40 minutes of execution. You still need a Custom JS account; its own conditions are set by Custom JS and are not covered here.
02What do you need to connect Custom JS to Make?
A Custom JS account and its API key, nothing more. In Custom JS, click Show under Your Api Key on the right side of the screen and copy the value. In Make, add a Custom JS module, click Create a connection, give it a name if you like, paste the key into the API Key field and click Save. If Custom JS asks you to authenticate, confirm access. That single connection then serves all 20 modules of the app.
03Can Custom JS start a Make scenario on its own?
No. Custom JS has no trigger module, so it never starts a scenario by itself. Something else has to come first: a trigger from another app, such as a new row in a sheet or a new order, or simply the schedule on the first module, which runs every 15 minutes by default. An instant trigger from another app, which calls Make through a webhook as soon as something happens, also works. The Custom JS modules then act on each bundle that trigger sends along.
04What if a Custom JS module is missing in Make?
It depends on what you need. Custom JS has no Make an API Call module in Make, so you cannot reach an unlisted feature of the app from there. Two routes remain. First, the code modules are flexible: Execute inline JavaScript Code or Execute inline Python Code can often cover a small gap. Second, another app in Make may already offer the action you want. If neither fits, the team can look at your case with you.
05Should you use Make or n8n for Custom JS?
It depends mostly on where the rest of your automations already run. Custom JS brings the same kind of help to both worlds: code, PDFs and web pages inside a workflow, and the same app often has an n8n node too. If your scenarios already live in Make, adding Custom JS modules there keeps everything in one editor. If your team builds in n8n, check its node list first. Neither answer is better in general; the right one is the tool your team already maintains.