Automate your handwritten correspondence. Send real notes with your message written in pen by robots.
Automate your handwritten correspondence. Send real notes with your message written in pen by robots. On Nagent, Handwrytten is exposed as a fully-configurable marketing automation integration that any agent can call — 48 actions, and API key authentication. No code is required to wire Handwrytten into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Handwrytten to automate the kinds of tasks marketing automation 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 Handwrytten 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 Handwrytten, with input parameters and output schema. Drop these into any step of an agent built in Helix.
HANDWRYTTEN_ADD_RECIPIENTTool to add a recipient address to the user's addressbook in Handwrytten. Use when you need to store a new recipient for sending handwritten cards.
Input parameters
ZIP or postal code. Required for recipient.
City name. Required for recipient.
Full name or company name if different from first_name/last_name.
State or province code (e.g., 'NY', 'CA').
Primary street address line. Required for recipient.
Secondary street address line (apartment, suite, etc.).
Recipient's birthday in MM/DD/YYYY format.
Recipient's last name.
Country identifier. Use '1' for USA. Required for recipient.
Recipient's first name.
If true, validate the address before adding. Default: false.
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
HANDWRYTTEN_CALCULATE_ORDER_TAXESTool to calculate taxes for Handwrytten basket orders. Use without any parameters for basket orders, or optionally provide order details to calculate taxes for a specific order (experimental).
Input parameters
The id of the card you want to send
The insert id for the order. Only if card_id is present
The id of the address, required if card_id is present
Optional. Use if sending a gift card. Only if card_id is present
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
HANDWRYTTEN_CHECK_AUTHTool to verify API key authentication validity for Handwrytten. Use when you need to test if the API credentials are valid and properly configured.
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
HANDWRYTTEN_CLEAR_BASKETTool to clear all items from the shopping basket. Use when you need to empty the basket and remove all pending items before starting a new order or canceling the current selection.
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
HANDWRYTTEN_CREATE_TEMPLATETool to create a new template for the current user. Use when you need to save a new message template for sending handwritten cards.
Input parameters
Name of the template to create
Message content for the template
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
HANDWRYTTEN_CREATE_USER_ADDRESSTool to create a new user address in Handwrytten. Use when adding a new return address to a user's profile for sending handwritten cards.
Input parameters
ZIP or postal code (required)
City name (required)
Full name (alternative to first_name and last_name)
State or province code (required for US and Canada addresses). Use two-letter state abbreviation.
Set this return address as default
Street address (required)
Additional address information like apartment, suite, unit number
Last name (required if first_name is not present)
Country ID (required if country is not present). Use 1 for United States.
First name (required if last_name is not present)
Business name if this is a business address
Whether to validate the address
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
HANDWRYTTEN_DELETE_CUSTOM_IMAGETool to delete a custom image/logo from Handwrytten. Use when you need to remove a previously uploaded custom image or logo from your account.
Input parameters
The ID of the custom image to delete.
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
HANDWRYTTEN_DELETE_RECIPIENTTool to delete one or more recipient addresses from user's profile. Use when you need to remove saved recipient addresses. Provide either address_id for single deletion or address_ids for bulk deletion.
Input parameters
The unique identifier of a single recipient address to delete. Provide either address_id (for single deletion) or address_ids (for bulk deletion), but not both. Use this when deleting one recipient at a time.
A list of recipient address identifiers to delete in bulk. Provide either address_id (for single deletion) or address_ids (for bulk deletion), but not both. Use this when deleting multiple recipients at once.
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
HANDWRYTTEN_DELETE_TEMPLATETool to delete a user's template by its ID. Use when you need to remove a saved template from the user's account.
Input parameters
The unique identifier of the template to delete
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
HANDWRYTTEN_GET_BASKET_ALL_NEWTool to retrieve the user's basket using the new method. Use when you need to fetch the current state of the shopping basket with all items, billing information, and totals.
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
HANDWRYTTEN_GET_BASKET_COUNTTool to retrieve the count of items currently in the basket. Use when you need to check how many items are in the shopping basket before proceeding with checkout or additional operations.
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
HANDWRYTTEN_GET_BASKET_ITEMTool to retrieve a basket item by its ID from Handwrytten. Use when you need to get details of a specific basket item.
Input parameters
Basket item id (basket_id). The unique identifier for the basket item to retrieve.
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
HANDWRYTTEN_GET_CARD_DETAILSTool to get detailed information about a specific card in the Handwrytten catalog. Use when you need comprehensive details about a card including pricing, dimensions, images, and customization options.
Input parameters
Optional flag to request low-resolution images. When true, returns smaller image URLs to reduce bandwidth.
The unique identifier of the card to retrieve details for.
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
HANDWRYTTEN_GET_LIST_ADDRESSESTool to retrieve a list of all addresses associated with the user's account. Use when you need to view or select from saved addresses for sending handwritten cards.
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
HANDWRYTTEN_GET_RANDOM_CARDSTool to retrieve random cards from Handwrytten. Use when you need to get a random selection of greeting cards from the Handwrytten catalog.
Input parameters
If true, the API will render HTML instead of JSON. Set to false or omit for JSON response.
Number of random cards to retrieve. If not specified, the API will return a default number of cards.
Orientation options for cards.
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
HANDWRYTTEN_GET_TEMPLATE_DETAILSTool to get detailed information about a card text template in the Handwrytten catalog. Use when you need to view the template message content and details.
Input parameters
The unique identifier of the template to retrieve details for.
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
HANDWRYTTEN_GET_USERTool to retrieve information about the currently authenticated user. Use when you need to fetch user profile details, account information, or verify authentication status.
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
HANDWRYTTEN_GET_USER_ADDRESSTool to retrieve the authenticated user's address and billing information. Use when you need to access user profile address details.
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
HANDWRYTTEN_LIST_BASKET_ORDERS_GROUPEDTool to list all basket orders grouped by basket. Use when you need to retrieve all items currently in the user's basket or review pending orders.
Input parameters
Page number for pagination (1-based). Defaults to 1 if not provided.
Number of items per page. Uses API default if not provided.
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
HANDWRYTTEN_LIST_BASKETSTool to retrieve a list of user's past baskets. Use when you need to view historical basket information including orders, recipients, and totals.
Input parameters
Page number, numeration starts with 1, 50 items per page. If not set, 250 items are returned.
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
HANDWRYTTEN_LIST_CARDSTool to retrieve a list of available Handwrytten cards with optional filtering and pagination. Use when browsing card catalog or searching for specific card types.
Input parameters
Page number for pagination, starting from 0. Used to retrieve different pages of card results.
Request low-resolution images instead of full resolution. Set to true for smaller image files.
Filter cards by category ID. If not provided, returns cards from all categories.
Include card images in the response. Set to true to retrieve card image URLs.
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
HANDWRYTTEN_LIST_CATEGORIESTool to retrieve the list of available card categories from Handwrytten. Use when you need to display category options or filter cards by category.
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
HANDWRYTTEN_LIST_COUNTRIESTool to retrieve the list of countries available in Handwrytten. Use when you need to get available countries for sending handwritten cards.
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
HANDWRYTTEN_LIST_CREDIT_CARDSTool to list all credit cards associated with the Handwrytten account. Use when you need to retrieve stored payment methods and billing information.
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
HANDWRYTTEN_LIST_FONTSTool to retrieve the list of available handwriting fonts. Use when you need to display font options or select a font for a handwritten message.
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
HANDWRYTTEN_LIST_FONTS_FOR_CUSTOMIZERTool to list fonts available for use with the card customizer. Use when you need to retrieve available font options for customizing handwritten cards.
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
HANDWRYTTEN_LIST_GCARDSTool to retrieve the list of available gift cards with their denominations and pricing. Use when you need to see what gift card options are available for purchase through the Handwrytten API.
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
HANDWRYTTEN_LIST_IMAGESTool to retrieve a list of custom user images uploaded to Handwrytten. Use when you need to browse or manage custom cover images or logos.
Input parameters
Enum for image types supported by Handwrytten.
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
HANDWRYTTEN_LIST_INSERTSTool to retrieve a list of available inserts from Handwrytten. Use when you need to view all inserts that can be included with handwritten cards.
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
HANDWRYTTEN_LIST_ORDERSTool to retrieve a list of user's past orders from Handwrytten. Use when you need to view order history or check the status of previously placed orders.
Input parameters
Page number for pagination (1-based). Defaults to 1 if not provided.
Number of items per page. Uses API default if not provided.
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
HANDWRYTTEN_LIST_ORDERS_GROUPEDTool to retrieve the user's order history grouped by basket. Use when you need to view or analyze past orders.
Input parameters
Page number for pagination (1-based). Defaults to 1 if not provided.
Number of items per page. Uses API default if not provided.
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
HANDWRYTTEN_LIST_PAST_ORDERSTool to retrieve a list of user's past orders from Handwrytten API. Use when you need to view order history or check the status of previously placed orders.
Input parameters
Page number for pagination (1-based). Defaults to 1 if not provided.
Number of items per page. Uses API default if not provided.
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
HANDWRYTTEN_LIST_RECIPIENTSTool to retrieve a list of recipient addresses that the user has previously saved. Use when you need to view or select from saved recipient addresses for sending handwritten cards.
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
HANDWRYTTEN_LIST_SIGNATURESTool to retrieve the list of available signatures for use in card orders. Use when you need to display signature options or select a signature for a handwritten message.
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
HANDWRYTTEN_LIST_STATESTool to retrieve the list of states/provinces available in Handwrytten. Use when you need to get available states for addressing handwritten cards.
Input parameters
Country ID to filter states by. If not provided, returns states for all countries.
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
HANDWRYTTEN_LIST_TEMPLATE_CATEGORIESTool to retrieve the list of available template categories from Handwrytten. Use when you need to display template category options or filter templates by category.
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
HANDWRYTTEN_LIST_TEMPLATESTool to retrieve a list of card text templates from Handwrytten. Use when you need to display available templates or filter templates by category.
Input parameters
Filter templates by category ID. If not provided, returns templates from all categories.
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
HANDWRYTTEN_LOGOUTTool to logout user from Handwrytten application. Use when you need to terminate the current user session and invalidate the authentication token.
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
HANDWRYTTEN_PLACE_BASKETTool to add an order to the basket in Handwrytten. Use when you need to create a new handwritten card order with specified recipients, card design, message, and delivery details. The order can be placed immediately or scheduled for future delivery.
Input parameters
Font ID for handwriting style. Examples: hwJeff, astDunn, hwMercy.
Wishes text as part of the signature block in the letter.
The ID of the card design to use for the order.
General message to include in all cards. Can be overridden per address in the addresses list.
Whether this order should be placed for free (requires appropriate permissions).
Quantity of identical cards to send. Use when sending the same card to multiple recipients.
List of recipient addresses with their details. Required if address_ids is not provided. Each address can have its own message.
Scheduled send date and time in YYYY-MM-DD HH:MM:SS format. Leave empty for immediate sending.
Font size for the handwriting. Typically ranges from 8 to 16.
ID of an insert to include with the card (e.g., business card, flyer).
Single address ID for sending to one recipient.
List of existing address IDs from Handwrytten address book. Required if addresses is not provided.
Coupon code to apply to this order for discounts.
Signature ID for the wishes block of the message.
Signature ID for the main message block.
Whether to automatically adjust font size to fit the message on the card.
Whether to check if cards and inserts are in stock. Returns error if insufficient quantity available.
Denomination ID for gift cards, if applicable.
ID of the return address to use. If not provided, the default return address will be used.
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
HANDWRYTTEN_REGISTER_USERTool to register a new Handwrytten user account. Use when creating a new user with email and password. Sends activation email to user; user status is not_active until email is confirmed.
Input parameters
First name of the user.
Last name of the user.
Email address for the new user account. This will be used as the login credential.
If true, the registration notification email will not be sent to the user.
Full name of the user if provided.
Password for the new user account. Must meet minimum security requirements.
If true, the registration notification email will not be sent to the user.
Discount code managed in admin area. Used to add credits/bonus credits to the user and attach user to an existing group.
Password confirmation - must be exactly equal to the password field. Required for validation.
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
HANDWRYTTEN_REQUEST_RESET_PASSWORDTool to request a password reset email for a Handwrytten account. Use when a user needs to reset their password and requires an email with reset instructions. The API will send an email with a password reset link if the provided email exists in the system, but will return success regardless to prevent email enumeration attacks.
Input parameters
Email address of the user requesting password reset. An email with password reset instructions will be sent if this email exists in the system.
Google reCAPTCHA token for security validation. This is required to prevent automated abuse of the password reset endpoint.
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
HANDWRYTTEN_SET_DEFAULT_ADDRESSTool to set a default return address for the user in Handwrytten. Use when you need to designate a specific address as the default return address for sending handwritten cards.
Input parameters
The unique ID of the address to set as default. This must be an existing address ID from the user's address list.
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
HANDWRYTTEN_SET_TEST_MODETool to set test mode for the current Handwrytten user. Use when you need to enable or disable test mode for testing purposes. When enabled, cards will not be sent and money will be returned to the credit card.
Input parameters
Test mode setting: enabled (1) to activate test mode where cards are not sent and charges are refunded, or disabled (0) to deactivate test mode and process real orders.
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
HANDWRYTTEN_UPDATE_BASKETTool to update an existing basket item in Handwrytten. Use when you need to modify card details, recipient addresses, messages, or other basket item properties.
Input parameters
Existing basket item ID to update (required)
Font style to use for the handwritten message
Wishes text to include as part of the signature in the card
ID of the card design to use
The handwritten message content to include in the card
Mark this basket item as free (no charge)
Number of cards to send
List of address objects for bulk updates with custom messages
Date and time to send the card (format: YYYY-MM-DD HH:MM:SS)
Font size for the message (in points)
ID of an insert to include with the card
ID of the address to use for this basket item
Coupon code to apply to this basket item
List of address IDs for bulk updates
Signature ID for the wishes block of the message
Signature ID for the main block of the message
Automatically adjust font size to fit the message
Check card quantity in stock, return 'insufficient quantity' error if low stock
Gift card denomination ID (if applicable)
Return address ID. If not provided, the default return address will be used
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
HANDWRYTTEN_UPDATE_BILLING_INFOTool to update user billing information (country, zip, address) for tax calculations in Handwrytten. Use when updating billing address details for accurate tax computation.
Input parameters
ZIP or postal code for billing address (required for tax calculations)
Street address for billing (required for tax calculations)
Country ID for billing address. Use 1 for United States.
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
HANDWRYTTEN_UPDATE_RECIPIENTTool to update a recipient address in the user's addressbook in Handwrytten. Use when you need to modify an existing recipient's address details.
Input parameters
ZIP or postal code. Required for recipient update.
City name. Required for recipient update.
Full name or company name if different from first_name/last_name.
State or province code (e.g., 'FL', 'CA').
Primary street address line. Required for recipient update.
Secondary street address line (apartment, suite, etc.).
Recipient's birthday in MM/DD/YYYY format.
Recipient's last name. Required if first_name is not present.
Unique identifier of the recipient address to update. Required.
Country identifier. Use '1' for USA. Required for recipient update.
Recipient's first name. Required if last_name is not present.
Business name if this is a business address.
If true, validate the address before updating. Default: false.
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
HANDWRYTTEN_UPDATE_TEMPLATETool to update an existing user template in Handwrytten. Use when you need to modify a template's name or message content.
Input parameters
Updated name for the template (required)
Updated message content for the template (required)
ID of the template to update (required)
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
HANDWRYTTEN_UPLOAD_CUSTOM_LOGOTool to upload a custom image (logo or cover) to Handwrytten for use with custom cards. Use when you need to add a custom logo or cover image that can be referenced in future card creation requests.
Input parameters
The image file to upload. Supported formats: PNG, JPG, JPEG.
Type of custom image being uploaded
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 66 agents privately built on Nagent that already use Handwrytten.
Build on Nagent
Connect Handwrytten 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 Handwrytten, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Handwrytten is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Handwrytten is connected, you configure its 48 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Handwrytten 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 Handwrytten event fires, the agent kicks off automatically.
Every Handwrytten 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 Handwrytten ships with 48 pre-built marketing automation actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Handwrytten together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Handwrytten-based workflows tailored to your business.