puppeteer Extension
Use Puppeteer (headless Chrome) in Trigger.dev tasks.
Setup
ts
import { puppeteer } from "@trigger.dev/build/extensions/puppeteer";
export default defineConfig({
project: "<project ref>",
build: {
extensions: [puppeteer()],
},
});Required Environment Variable
Set in your Trigger.dev dashboard → Environment Variables:
PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stableExample Task
ts
import { task } from "@trigger.dev/sdk";
import puppeteer from "puppeteer";
export const screenshotTask = task({
id: "screenshot",
run: async ({ url }: { url: string }) => {
const browser = await puppeteer.launch({
executablePath: process.env.PUPPETEER_EXECUTABLE_PATH,
});
const page = await browser.newPage();
await page.goto(url);
const screenshot = await page.screenshot({ encoding: "base64" });
await browser.close();
return { screenshot };
},
});