CraftMyPDF is a web-based platform that enables users to design and generate customizable PDF documents using pre-designed templates and dynamic data.
CraftMyPDF is a web-based platform that enables users to design and generate customizable PDF documents using pre-designed templates and dynamic data. On Nagent, Craftmypdf is exposed as a fully-configurable documents integration that any agent can call — 12 actions, and API key authentication. No code is required to wire Craftmypdf into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Craftmypdf to automate the kinds of tasks documents teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Craftmypdf into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Craftmypdf, with input parameters and output schema. Drop these into any step of an agent built in Helix.
CRAFTMYPDF_ADD_TEXT_TO_PDFTool to add text annotations to a PDF including page numbers, watermarks, and custom text at specified positions. Supports dynamic variables like {{pageNumber}} and {{totalPages}} for automatic page numbering. Use when you need to add watermarks, headers, footers, or any text overlay to existing PDF documents.
Input parameters
The URL of the PDF file to annotate. Must be a publicly accessible URL.
Expiration time in minutes for the generated PDF link. Range: 1-10080 minutes (7 days). Defaults to 5 minutes if not specified.
Desired filename for the output PDF. Defaults to 'output.pdf' if not specified.
Array of text annotation settings. Each item defines text to add with its position, styling, and target pages. Multiple settings can be applied to add different text elements to various pages.
Whether to upload the generated PDF to CraftMyPDF's CDN. Set to 1 (upload to CDN) or 0 (skip upload). If you have configured Post Actions to upload to your own S3, set to 0. Defaults to 1.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_ADD_WATERMARKTool to add a text watermark to a PDF with customizable font, size, color, opacity, and rotation. Use when you need to overlay watermark text (e.g., CONFIDENTIAL, DRAFT) on PDF documents. For more advanced text placement and formatting options, consider using the add-text-to-pdf endpoint instead.
Input parameters
URL of the source PDF document to add watermark to. Must be a publicly accessible URL.
The watermark text to overlay on the PDF. This text will appear on all pages.
Opacity/transparency of the watermark, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 0.5.
Rotation angle of the watermark text in degrees. Positive values rotate clockwise. Default is 45 degrees.
Font size of the watermark text in points. Default is 40 if not specified.
Hex color code for the watermark text (must start with # followed by 6 hex digits). Default is '#c7c7c7' (light gray).
Expiration time in minutes for the generated PDF link. Must be between 1 minute and 10080 minutes (7 days). Default is 5 minutes.
Available font families for watermark text.
Name for the output PDF file. Default is 'output.pdf' if not specified.
Whether to upload the generated PDF to CDN storage. Set to 1 (default) to upload to CDN, or 0 if you have configured Post Actions to upload to your own S3 bucket.
AWS S3 bucket name to override for Post Action (S3 Storage). Only used if you have Post Actions configured.
File name/key for Post Action (S3 Storage). Do not include file extension. Use slash (/) as folder delimiter. Must be unique.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_CREATE_EDITOR_SESSIONTool to create an embeddable editor session URL for a template. Use when you need to embed the PDF editor for a specific template.
Input parameters
URL to navigate to when the user clicks the back button.
Allow saving changes in the editor.
Mode for JSON: 1 = editor, 2 = viewer.
Allow previewing document within the editor.
Session lifetime in minutes (e.g., 1440 for 24 hours).
Allow direct JSON editing of the template.
Show or hide data tab in the editor.
Show or hide help/documentation panel.
The PDF template ID to open in the editor. Get template IDs from the List Templates action.
Allow generating PDF from the editor.
Show CraftMyPDF header in the editor UI.
Show layers panel in the editor.
Allow viewing editor settings.
Show or hide expression documentation pane.
Show property panel for elements in the editor.
Show or hide property binding options.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_CREATE_PDF_ASYNC2Tool to create a PDF file asynchronously with JSON data and template. Returns immediately with a transaction reference and makes an HTTP/HTTPS GET callback to webhook_url when the PDF is generated. Use when you need non-blocking PDF creation with advanced options like image optimization, resizing, and custom storage configuration.
Input parameters
JSON data to populate template fields. Accepts either a JSON object or a stringified JSON string. Keys should match the template's data bindings.
Template version to use. If not specified, uses the latest version of the template.
Expiration time of the generated PDF in minutes. Default is 5 minutes, range is between 1 minute and 10080 minutes (7 days).
Template ID to use for PDF generation. Obtain valid template IDs from the list-templates endpoint.
Callback URL to your server for receiving the PDF result. Must start with http:// or https:// and should be URL-encoded. When PDF is generated, a GET request is made to: webhook_url?file=\[file_url\]&transaction_ref=\[transaction_ref\]&status=\[status\]&message=\[message\]&details=\[details\]
Upload the generated PDFs/images to storage CDN. Default is 1. Set to 0 if you have configured Post Actions to upload to your own S3.
If resize_images is enabled, specify the format of resized images. Either 'jpeg' or 'png'.
Resize all images in the PDF to help reduce file size, especially if the template contains multiple or large images. Set to true to enable. Only works with JPEG/JPG/PNG images.
If resize_images is enabled, specify the maximum width in pixels for images. Default is 1000.
If resize_images is enabled, specify the maximum height in pixels for images. Default is 1000.
Optimize/downsample images in the PDF to a specified resolution in DPI. Helps reduce PDF file size. Suggested values are 1200, 600, 300, 150, or 72.
Override the AWS Bucket for Post Action (S3 Storage) if configured.
Specify the file name for Post Action (S3 Storage). Do not include file extension. Ensure the file name is unique. You can use slash (/) as folder delimiter.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_CREATE_PDF_PARALLELTool to create multiple PDF files in parallel from templates with JSON data. Processes multiple PDF generation requests concurrently for improved performance. Optionally merges all generated PDFs into a single file when merge parameter is enabled. Use when you need to generate multiple PDFs at once from different templates or data.
Input parameters
Whether to merge all generated PDFs into a single PDF file. Defaults to false if not specified.
Array of PDF generation requests to process in parallel. Each request contains template_id, data, and optional meta field.
Expiration time in minutes for the merged PDF file. Only applicable when merge is true. Valid range: 1-10080 minutes (7 days). Defaults to 5 minutes.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_GET_ACCOUNT_INFOTool to retrieve account information including subscription and usage details. Use when you need to check quota limits, template usage, or account creation date.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_GET_PDF_INFOTool to retrieve information about a PDF file including metadata, page count, and other properties. Use when you need to analyze PDF file structure or extract metadata without downloading the entire file.
Input parameters
URL to a PDF file to retrieve information from
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_LIST_TEMPLATESTool to retrieve a paginated list of PDF templates. Use when you need to browse available templates before generating a PDF.
Input parameters
Maximum number of templates to return, must be at least 1
Number of templates to skip before returning results, must be non-negative
Filter templates by group name
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_LIST_TRANSACTIONSTool to retrieve a paginated list of API transactions. Use when you need to view transaction history with pagination support.
Input parameters
Maximum number of transactions to return. Default is 300
Number of transactions to skip before returning results. Default is 0
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_MERGE_PDFSTool to merge multiple PDF files from URLs into a single PDF document. Use when you need to combine multiple PDF files into one consolidated document. The API fetches PDFs from the provided URLs and merges them in the order specified.
Input parameters
Array of PDF URLs to merge. Each URL should be publicly accessible and point to a valid PDF file.
Expiration time in minutes for the generated PDF link. Default is 5 minutes, range between 1 minute and 10080 minutes (7 days).
Output filename for the merged PDF. Default is 'output.pdf'.
Upload the generated PDF to storage CDN. Default is 1 (enabled). Set to 0 if you have configured Post Actions to upload to your own S3.
AWS bucket name to overwrite for Post Action S3 Storage.
File name for Post Action S3 Storage. Do not specify the file extension. Make sure the file name is unique. You can use slash (/) as folder delimiter.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_QUERY_TEMPLATE_USAGETool to retrieve usage statistics for specified templates within a date range. Use when you need to track PDF generation counts and credit consumption for specific templates.
Input parameters
End date for the usage query in ISO 8601 format (UTC time). Example: '2025-01-30T23:59:59Z'. If not provided, uses default date range.
Start date for the usage query in ISO 8601 format (UTC time). Example: '2025-01-30T00:00:00Z'. If not provided, uses default date range.
Comma-separated list of template IDs to query usage statistics for. Example: 'bba77b234e84443e,02077b2b1aa8b938'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
CRAFTMYPDF_UPDATE_PDF_FIELDSTool to update fillable fields in a PDF document such as text fields, checkboxes, and dropdowns. Use when you need to programmatically fill out PDF forms by updating field values. The PDF must contain fillable form fields with identifiable names that match the field IDs you provide.
Input parameters
The publicly accessible URL of the PDF file to update. The PDF must contain fillable form fields with identifiable names.
Array of field updates to apply to the PDF. Each field object specifies which field to update and its new value. The field IDs must match existing field names in the PDF.
Expiration time in minutes for the generated PDF URL. Valid range: 1 to 10080 minutes (7 days). Defaults to 5 minutes if not specified.
The filename for the generated PDF. Defaults to 'output.pdf' if not specified.
Whether to upload the generated PDF to the CraftMyPDF CDN. Set to 1 (default) to upload to CDN, or 0 if you have configured Post Actions to upload to your own S3 storage.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 44 agents privately built on Nagent that already use Craftmypdf.
Build on Nagent
Connect Craftmypdf to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Craftmypdf, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Craftmypdf is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Craftmypdf is connected, you configure its 12 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Craftmypdf steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Craftmypdf event fires, the agent kicks off automatically.
Every Craftmypdf action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Craftmypdf ships with 12 pre-built documents actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Craftmypdf together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Craftmypdf-based workflows tailored to your business.