- Home
- Resources
- Integrations
- CustomJS
CustomJS Zapier integrationAutomate CustomJS with Zapier.
The CustomJS Zapier integration gives you 0 triggers, 5 actions and 0 searches. CustomJS never starts a Zap on its own: another app fires first, then CustomJS renders a PDF, a PNG or a screenshot, merges PDFs or runs Puppeteer code.
Verified Trustpilot reviews · AI, automation & growth agency
What the CustomJS Zapier integration actually does
CustomJS is a document toolkit: it turns HTML into PDF or PNG files, captures web pages, stitches PDFs together and runs Puppeteer code. Plugged into Zapier, it becomes the step that produces a file in the middle of an automation, right after something happens in another app.
Three results you can expect. A PDF quote or certificate, written as an HTML template and filled with the data a previous step carried, through Create PDF From HTML. A social card or badge image, rendered from the same kind of HTML with Create HTML to PNG. A single file that bundles several PDFs, with Merge PDFs, when a client file is spread over separate documents.
Two more actions sit on the technical side: Create Screenshot grabs a website from its URL, and Run Puppeteer runs Puppeteer code you write. That last one is the only place where you write code yourself.
What Zapier does not do for CustomJS: start anything. The app has no trigger and no search on Zapier, so it cannot tell you a file is ready or look up an older one. It always comes second, after a trigger from another tool, and every action it performs counts as one task.
If you are still choosing a platform, read our Make vs Zapier comparison first.
Zapier vocabulary in one minute
Seven words come back on every line of this page. Here they are in plain English.
- Zap
- The automation you build on Zapier: one trigger, then one or more actions that run each time the trigger event happens.
- Trigger
- The event in an app that starts the Zap. Once the Zap is on, Zapier waits for it. CustomJS has none, so it comes from another tool.
- Action
- What the Zap does once started: the step that writes, sends or produces something. All five CustomJS operations are actions.
- Task
- The unit Zapier bills: one action your Zap completes successfully. Your plan allowance is a count of those.
- Polling vs instant
- A polling trigger is checked on a timer by Zapier; an instant trigger is reported by the app the moment it happens. It depends on the app that starts your Zap.
- Filter
- A step that lets the Zap continue only when the incoming data meets your condition, and stops it otherwise.
- Multi-step Zap
- Any Zap beyond one trigger and one action. A second action or a filter makes one, and it needs a paid plan.
What a CustomJS Zap costs you
CustomJS is not a premium app, so it runs on the free Zapier plan. The trigger of your Zap costs nothing, and neither does Zapier checking for new data.
- Free plan100 tasks per month, two-step Zaps only
- Trigger and checksNever billed
- Each successful action1 task
- Premium appNo, works on the free plan
Each CustomJS action that succeeds counts as one task; one that fails is not counted. Generate a PDF and then merge it with another, and that is two tasks per run, so the number of actions in the Zap matters as much as the number of runs. The free plan stops at two steps, so adding a filter or a second action moves you to a paid plan. A Zap of one trigger and one CustomJS action stays inside the free allowance until you pass 100 successful runs in a month.
Connect CustomJS to Zapier in 3 steps
- 01
Open the Apps page
You need a CustomJS account first. In Zapier, go to Apps, then click + Add connection. A connection is your account linked once, then reused by every step that calls CustomJS.
- 02
Find CustomJS and add it
Type CustomJS in the search box of the dialog, pick it, then click Add connection. Zapier then opens a new tab where you sign in to your CustomJS account.
- 03
Grant access
Sign in and allow Zapier to use the account. If a document or template you plan to use belongs to someone else, make sure your account can read it before you build the Zap.
Your first Zap: a PDF from each order form
GoalEach time a customer submits an order form, build a PDF order summary from an HTML template, but only for completed orders.
- 01
Build: pick the starting event
Click Build, choose your form tool as the trigger app and its new response event. This is what starts every run of the Zap.
- 02
Test the trigger
Click Test. Zapier brings back the three most recent responses of the connected account, so you map fields from a real one.
- 03
Add the filter
Add a Filter step from the plus icon: the status field, a text rule, the value complete. A text rule only works on text, so pick the right type.
- 04
Add Create PDF From HTML
Choose CustomJS and Create PDF From HTML. Paste your HTML template in the HTML field and drop the form fields into it where the customer name and items go.
- 05
Test, then publish
Run the test on the CustomJS step and open the result. When it looks right, click Publish to switch the Zap on. A filter makes this a multi-step Zap, so a paid plan is required.
The 5 CustomJS actions
CustomJS gives you 5 actions. For each one: what it does for you, when to reach for it, and what to watch out for.
Operations index
Create PDF From HTML
ActionIn Zapier“Convert an HTML string into a PDF.”
Feed it an HTML string and you get back a PDF document. Write the layout once, then let each run fill it with names, amounts or dates from the trigger.
Create HTML to PNG
ActionIn Zapier“Create HTML string to PNG image”
Same idea as the PDF action, but the output is a PNG image. Your HTML becomes a picture you can attach, post or store.
Create Screenshot
ActionIn Zapier“Create screenshot of any website by providing URL.”
Captures any website from the URL you provide. Handy when you need a visual record of a page at a given moment.
Merge PDFs
ActionIn Zapier“Merge multiple pdfs into one”
Combines several PDF files into one. You give it the addresses of the files and it returns a single document.
Run Puppeteer
ActionIn Zapier“Run code on puppeteer.”
Runs the Puppeteer code you give it. It is the open-ended action for what the four ready-made ones do not cover, as long as you can write that code.
When a CustomJS Zap breaks
Zapier attaches no help article and no documented limit to CustomJS. What breaks is what breaks on every Zap, plus the mandatory inputs of each action.
Four cases to keep in mind before you publish. If a run fails and you cannot see why, our Zapier troubleshooting page is the next stop.
Old records are never processed
A Zap only reacts to what happens after you publish it. Forms submitted before that will never get their PDF; handling the backlog is a separate job.A mandatory input arrives empty
HTML, URL, PDF URLs and Code are all required. If the trigger sends a blank value for one of them, the CustomJS step cannot run.A Zap that keeps firing itself
If the file CustomJS produces lands in the place your trigger watches, the Zap starts again on its own output and burns through tasks fast.A bulk import held back
When the starting app suddenly returns a huge batch, after an import or a migration, Zapier's flood protection can hold those runs back.
Need help automating CustomJS with Zapier?
A person reads every message.



