For Agents
Log, read, update, archive, and search HubSpot postal mail engagement records so direct mail activity sits alongside emails and calls in the CRM.
Get started with Postal Mail in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"log direct mail in hubspot"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Postal Mail API.
Log a postal mail engagement on a contact or company record
Read a single postal mail record by ID with property selection
List postal mail engagements with cursor-based pagination
Search postal mail by date sent, status, or campaign property
Batch create up to 100 postal mail records from a print partner export
GET STARTED
Use for: I need to log a direct mail send against a contact, Find all postal mail engagements sent in a campaign, Get the postal mail record for a specific ID, Bulk import postal mail sends from a print partner CSV
Not supported: Does not print, mail, or fulfil physical letters — use for logging postal mail engagement records into HubSpot CRM only.
The HubSpot Postal Mail API treats postal mail engagements — direct mail letters, postcards, packages — as first-class CRM records that can be logged against contacts, companies, and deals. It supports the standard CRM object pattern: read, list, patch, and archive single records, plus batch read, create, update, and archive of up to 100 records per call, and a search endpoint with filter groups and sort. Use it to log direct mail sends from a print partner back into the CRM, build outreach reports that combine digital and offline channels, and trigger follow-up sequences once a piece of postal mail is delivered.
Update or archive postal mail records when a send is cancelled or reissued
Patterns agents use Postal Mail API for, with concrete tasks.
★ Direct mail engagement logging
Capture every direct mail piece a print partner sends so it shows up alongside email and call engagements on the contact timeline. Use POST /crm/v3/objects/postal_mail/batch/create to push batches of postal mail engagements with associations to the recipient contacts, then PATCH each record once a delivery confirmation arrives.
POST 100 postal mail records to /crm/v3/objects/postal_mail/batch/create with hs_postal_mail_subject and hs_timestamp set, plus contact associations.
Multi-channel outreach reporting
Build a report that combines digital and offline outreach by listing postal mail engagements alongside emails, calls, and meetings. POST /crm/v3/objects/postal_mail/search with date filters returns the postal mail subset; combine with the other engagement APIs for a unified channel view.
POST a search to /crm/v3/objects/postal_mail/search filtering hs_timestamp greater than the start of the quarter, sorted ascending.
Cancelled-send cleanup
Archive postal mail records when a print run is cancelled or reissued so the timeline only reflects pieces that actually went out. POST /crm/v3/objects/postal_mail/batch/archive removes up to 100 records in a single call.
POST /crm/v3/objects/postal_mail/batch/archive with the IDs of 50 cancelled mail records.
AI agent execution through Jentic
An agent that needs to log postal mail engagements discovers this API via Jentic's intent search using a query like 'log direct mail in hubspot', loads the input schema for the chosen operation, and executes the call with credentials supplied from the Jentic vault. The same flow handles batch create, search, and patch.
Search Jentic for 'log direct mail in hubspot', load POST /crm/v3/objects/postal_mail/batch/create, and execute with one postal mail record.
11 endpoints — the hubspot postal mail api treats postal mail engagements — direct mail letters, postcards, packages — as first-class crm records that can be logged against contacts, companies, and deals.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/postal_mail/{postalMailId}
Read a single postal mail record by ID
/crm/v3/objects/postal_mail/{postalMailId}
Update a postal mail record's properties
/crm/v3/objects/postal_mail/{postalMailId}
Archive a postal mail record
/crm/v3/objects/postal_mail
List postal mail records with pagination
/crm/v3/objects/postal_mail/batch/create
Create up to 100 postal mail records in one call
/crm/v3/objects/postal_mail/batch/read
Read up to 100 postal mail records by ID
/crm/v3/objects/postal_mail/batch/update
Update up to 100 postal mail records in one call
/crm/v3/objects/postal_mail/batch/archive
Archive up to 100 postal mail records in one call
/crm/v3/objects/postal_mail/{postalMailId}
Read a single postal mail record by ID
/crm/v3/objects/postal_mail/{postalMailId}
Update a postal mail record's properties
/crm/v3/objects/postal_mail/{postalMailId}
Archive a postal mail record
/crm/v3/objects/postal_mail
List postal mail records with pagination
/crm/v3/objects/postal_mail/batch/create
Create up to 100 postal mail records in one call
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and private app tokens live encrypted in the Jentic vault. Jentic injects the Authorization header at request time so credentials never enter agent prompts, transcripts, or logs.
Intent-based discovery
Agents search by intent (e.g. 'log direct mail in hubspot' or 'search postal mail by date') and Jentic returns the matching Postal Mail operation with its JSON Schema, including association payload structure.
Time to first call
Direct integration: half a day to wire OAuth, batch payloads, and association calls. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
HubSpot CRM Contacts
Holds the contact records that postal mail engagements are logged against
Use to create or look up the contact before associating a postal mail record with it.
HubSpot CRM Associations
Manages the link between a postal mail record and other CRM objects
Use to attach a postal mail record to deals, companies, or tickets after creation.
HubSpot CRM Objects
Generic CRM record API that can also reach postal_mail via the objectType path
Pick this when you want a single integration that handles many object types rather than a postal-mail-specific client.
Specific to using Postal Mail API through Jentic.
What authentication does the HubSpot Postal Mail API use?
It accepts OAuth 2.0 access tokens and private app access tokens passed as a Bearer credential in the Authorization header. Through Jentic, the token is stored encrypted in the credential vault and attached at execution time.
Can I associate a postal mail engagement with a contact and a deal?
Yes. Pass associations in the create payload referencing both the contact ID and the deal ID, and HubSpot will link the postal mail record to both. The same record will appear on each associated record's timeline.
What are the rate limits for the HubSpot Postal Mail API?
It shares HubSpot's account-level rate limits, typically 100 requests per 10 seconds for OAuth apps. Use POST /crm/v3/objects/postal_mail/batch/create to ingest up to 100 records per request when importing from a print partner.
How do I bulk-import postal mail through Jentic?
Search Jentic with 'batch create postal mail hubspot', load POST /crm/v3/objects/postal_mail/batch/create, and execute with up to 100 records per call. The response returns each record's id and properties for downstream association.
Is the HubSpot Postal Mail API free?
It is included with HubSpot accounts that have CRM access enabled; there is no per-call charge for the endpoints. Standard account-level rate limits apply.
How do I update the delivery status on a postal mail record?
PATCH /crm/v3/objects/postal_mail/{postalMailId} with a properties object containing the status field your portal uses (for example a custom hs_postal_mail_status property). Other properties on the record remain untouched.
/crm/v3/objects/postal_mail/batch/read
Read up to 100 postal mail records by ID
/crm/v3/objects/postal_mail/batch/update
Update up to 100 postal mail records in one call
/crm/v3/objects/postal_mail/batch/archive
Archive up to 100 postal mail records in one call