zendesk
Connect Printful to Zendesk and automate your tasks
Why integrate Printful with Zendesk
The Printful to Zendesk integration helps you sync data, automate manual tasks, and keep your stack aligned — without writing code.
Send Shopify orders to Printful for fulfillment automatically
When an order is placed in Shopify, MESA routes it to Printful with the right product details, variants, and shipping information already attached. Your print-on-demand fulfillment starts the moment a customer checks out without anyone manually submitting the order.
Keep Shopify product and variant data in sync with Printful
When a product is added, updated, or repriced in Shopify, MESA reflects the change in Printful. Your fulfillment partner always works from accurate product data without a manual sync step between your store and your print provider.
Update Shopify the moment Printful ships an order
When Printful generates a tracking number and marks an order as shipped, MESA writes the update back to Shopify and triggers any downstream actions — a Klaviyo notification, a customer tag, a loyalty point. Your post-purchase workflow starts the moment Printful ships, not when someone checks the dashboard.
Create Zendesk tickets from Shopify order events automatically
When an order is flagged — a failed fulfillment, a return request, a delayed shipment — MESA opens a ticket in Zendesk with the order details already attached. Your support team works the issue without hunting for context.
Keep Shopify customer data current when tickets are resolved
When a Zendesk ticket is closed or a resolution is logged, MESA updates the customer's record in Shopify — tags, notes, fields. Your store reflects what your support team learned without anyone syncing it manually.
Route support tickets based on order and customer details
When a ticket arrives in Zendesk, MESA reads the associated Shopify data — order value, customer tier, product type — and applies the right tags, priority, or assignee. Every ticket lands with the right team from the start.
Build any Printful and Zendesk automation
MESA helps you connect apps to automate repetitive tasks. A trigger is an event that starts a workflow, and actions are the steps that occur when it's running.
Attachment Linked to Ticket Comment
Starts when an attachment is linked to a ticket comment.
- ID
- Subject
- Description
- Created At
- Updated At
- Status
- Priority
- Type
- Actor ID
- Requester ID
- Submitter ID
- Assignee ID
- Organization ID
- Group ID
- Brand ID
- Form ID
- External ID
- Is Public
- Tags
- Custom Status
- Via
- Event
Attachment Redacted from Ticket Comment
Starts when an attachment is permanently redacted from an existing comment on a ticket.
Comment Created
Starts when a comment is created.
Comment Made Private
Starts when a comment is made private.
Comment Redacted
Starts when a comment is redacted.
Ticket Agent Assignment Changed
Starts when a ticket is reassigned to another agent.
Ticket Brand Updated
Starts when a brand associated with the ticket is updated.
Ticket Created
Starts when a ticket is created.
- ID
- Subject
- Description
- Created At
- Updated At
- Status
- Priority
- Type
- Actor ID
- Requester ID
- Submitter ID
- Assignee ID
- Organization ID
- Group ID
- Brand ID
- Form ID
- External ID
- Is Public
- Tags
- Custom Status
- Via
Ticket Custom Field Updated
Starts when a ticket's custom field is updated.
Ticket Custom Status Updated
Starts when a ticket's custom status is updated.
Ticket Deleted
Starts when a ticket is deleted.
Ticket Description Updated
Starts when a ticket's description is updated.
Ticket Email CCs Updated
Starts when users are added or removed from a ticket.
Ticket External ID Updated
Starts when a ticket's external ID is updated.
Ticket Followers Changed
Starts when followers on a ticket are updated.
Ticket Form Updated
Starts when a ticket's form is updated.
Ticket Group Assignment Changed
Starts when a ticket is reassigned to another group of agents.
Ticket Merged
Starts when a ticket is merged.
Ticket Organization Updated
Starts when a ticket's organization is updated.
Ticket Priority Updated
Starts when a ticket's priority is updated.
Ticket SLA Policy Updated
Starts when a ticket's SLA policy is updated.
Ticket Status Updated
Starts when a ticket's status is updated.
Ticket Subject Updated
Starts when a subject is updated.
Ticket Updated
Starts when a ticket is updated.
Order Canceled
Starts when an order is canceled.
Order Created
Starts when an order is created.
Order Failed
Starts when an order has failed.
Order Updated
Starts when an order is updated.
Package Returned
Starts when a package is returned.
Package Shipped
Starts when a package is shipped.
Add Tag to Ticket
Add a tag to a ticket.
- 0
Count Search Results
Get a number of items matching the search query.
- Count
Create Group
Create a group.
Create Organization
Create an organization.
- Organization
Create Ticket
Create a ticket.
- Ticket
Create Ticket Comment
Add a comment to a ticket.
- Ticket
Create User
Create a user.
- User
Delete Group
Remove a group.
Delete Organization
Remove an organization.
Delete Ticket
Remove a ticket.
Get List of Comments
Obtain a list of comments.
- Attachments
- Audit ID
- Author ID
- Body
- Created At
- HTML Body
- ID
- Metadata
- Plain Body
- Public
- Type
- Uploads
- Via
Get List of Groups
Obtain a list of groups.
- Created At
- Default
- Deleted
- Description
- ID
- Is Public
- Name
- Updated At
- URL
Get List of Organizations
Obtain a list of organizations.
- Count
- Next Page
- Organizations
- Previous Page
Get List of Tickets
Obtain a list of existing tickets.
- Allow Attachments
- Allow Channelback
- Assignee Email
- Assignee ID
- Attribute Value Ids
- Brand ID
- Collaborator Ids
- Collaborators
- Comment
- Created At
- Custom Fields
- Custom Status ID
- Description
- Due At
- Email Cc Ids
- Email Ccs
- Encoded ID
- External ID
- Follower Ids
- Followers
- Followup Ids
- From Messaging Channel
- Generated Timestamp
- Group ID
- Has Incidents
- ID
- Is Public
- Macro ID
- Macro Ids
- Metadata
- Organization ID
- Priority
- Problem ID
- Raw Subject
- Recipient
- Requester
- Requester ID
- Safe Update
- Satisfaction Rating
- Sharing Agreement Ids
- Status
- Subject
- Submitter ID
- Tags
- Ticket Form ID
- Type
- Updated At
- Updated Stamp
- URL
- Via
- Via Followup Source ID
- Via ID
- Voice Comment
Get List of Users
Obtain a list of users.
- Active
- Alias
- Chat Only
- Created At
- Custom Role ID
- Default Group ID
- Details
- External ID
- Iana Time Zone
- ID
- Last Login At
- Locale
- Locale ID
- Moderator
- Name
- Notes
- Only Private Comments
- Organization ID
- Phone
- Photo
- Remote Photo URL
- Restricted Agent
- Role
- Role Type
- Shared
- Shared Agent
- Shared Phone Number
- Signature
- Suspended
- Tags
- Ticket Restriction
- Time Zone
- Two Factor Auth Enabled
- Updated At
- URL
- User Fields
- Verified
Remove Tags from Ticket
Remove tags from a ticket.
- 0
Retrieve Group
Grab all details about a group.
- Created At
- Default
- Deleted
- Description
- ID
- Is Public
- Name
- Updated At
- URL
Retrieve Organization
Grab all details about an organization.
- Created At
- Details
- Domain Names
- External ID
- Group ID
- ID
- Name
- Notes
- Organization Fields
- Shared Comments
- Shared Tickets
- Tags
- Updated At
- URL
Retrieve Ticket
Grab all details about a ticket.
- Allow Attachments
- Allow Channelback
- Assignee ID
- Brand ID
- Collaborator Ids
- Collaborators
- Created At
- Custom Fields
- Custom Status ID
- Description
- Due At
- Email Cc Ids
- Encoded ID
- External ID
- Follower Ids
- Followup Ids
- From Messaging Channel
- Generated Timestamp
- Group ID
- Has Incidents
- ID
- Is Public
- Macro Ids
- Organization ID
- Priority
- Problem ID
- Raw Subject
- Recipient
- Requester ID
- Satisfaction Rating
- Sharing Agreement Ids
- Status
- Subject
- Submitter ID
- Tags
- Ticket Form ID
- Type
- Updated At
- URL
- Via
- Via Followup Source ID
Retrieve User
Grab all details about a user.
Search
Search for specific results.
- Count
- Facets
- Next Page
- Previous Page
- Results
Update Group
Modify a group's details.
Update Organization
Modify an organization's details.
Update Ticket
Modify a ticket's details.
- Ticket
Update User
Modify a user's details.
- User
Upload Files
Upload a file.
Add File
Upload a new file to the library by providing URL of the file.
- Type
- ID
- URL
- Options
- Hash
- Filename
- Mime Type
- Size
- Width
- Height
- Dpi
- Status
- Created
- Thumbnail URL
- Preview URL
- Visible
Approve Design
Uses the confirm hash of an approval sheet to approve a design and remove the hold on an order.
- Message
Calculate Shipping Rates
Obtain a list of available shipping options and rates for a given list of products.
- Code
- Result
Calculate Tax Rate
Calculate sales tax rate for a given address if required.
- Code
- Result
Cancel Order
Cancel a pending order or draft. Charged amount is returned to the store owner's credit card.
- ID
- External ID
- Store
- Status
- Shipping
- Shipping Service Name
- Created
- Updated
- Recipient
- Items
- Branding Items
- Incomplete Items
- Costs
- Retail Costs
- Pricing Breakdown
- Shipments
- Gift
- Packing Slip
Change Packing Slip
Modifies packing slip information of the currently authorized Printful store.
- Code
- Result
Confirm Draft for Fulfillment
Approve a draft order for fulfillment. Store owner's credit card is charged when the order is submitted for fulfillment.
Create Mockup Generation Task
Create an asynchronous mockup generation task.
- Variant Ids
- Format
- Width
- Product Options
- Option Groups
- Options
- Files
- Product Template ID
Create New Sync Product
Create a new sync product together with its sync variants.
- Sync Product
- Sync Variants
Create Order
Create a new order and optionally submits it for fulfillment.
Create Sync Variant
Create a new sync variant for an existing sync product.
- ID
- External ID
- Sync Product ID
- Name
- Synced
- Variant ID
- Retail Price
- Currency
- Is Ignored
- Sku
- Product
- Files
- Options
- Main Category ID
- Warehouse Product Variant ID
Delete Product Template
Remove a product template.
- Success
Delete Sync Product
Remove a sync product with all of its sync variants.
- Sync Product
- Sync Variants
Delete Sync Variant
Remove a single sync variant.
- Sync Variant
- Sync Product
Disable Webhook Support /Webhooks
Removes the webhook URL and all event types from the store. Method returns current webhook configuration after the update.
Estimate Order Costs
Calculates the estimated order costs including item costs, print costs, shipping, and taxes.
- Costs
- Retail Costs
Get List of Approval Sheets
Obtain a list of approval sheets confirming suggested changes to files of on hold orders.
- ID
- Status
- Confirm Hash
- Submitted Design
- Recommended Design
- Approval Sheet
Get List of Available Thread Colors from Provided Image URL
Obtain a list of colors in hexadecimal format.
- 0
Get List of Categories
Obtain a list of catalog categories available in Printful.
- ID
- Parent ID
- Image URL
- Size
- Title
Get List of Countries
Obtain a list of countries and states that are accepted by Printful.
- Code
- Name
- States
Get List of Countries for Tax Calculation
Obtain a list of countries that requires sales tax calculation.
- Code
- Result
Get List of Layout Templates
Obtain a list of templates that can be used for client-side positioning.
- Version
- Min Dpi
- Variant Mapping
- Templates
- Conflicting Placements
Get List of Orders
Obtain a list of orders from your store.
Get List of Product Variant Print Files
Obtain a list of print files available for products variants.
- Product ID
- Available Placements
- Printfiles
- Variant Printfiles
- Option Groups
- Options
Get List of Products
Obtain a list of products available in Printful.
- ID
- Main Category ID
- Type
- Type Name
- Title
- Brand
- Model
- Image
- Variant Count
- Currency
- Files
- Options
- Is Discontinued
- Avg Fulfillment Time
- Description
- Techniques
Get List of Sync Products
Obtain a list of sync product objects from your custom Printful store.
- ID
- External ID
- Name
- Variants
- Synced
- Thumbnail
- Thumbnail URL
- Is Ignored
Get List of Templates
Obtain a list of templates.
- Items
Get List of Warehouse Products
Obtain a list of warehouse products from your store.
- ID
- Name
- Status
- Currency
- Image URL
- Retail Price
- Variants
Get Scopes for Token /Oauth/Scopes
Returns a list of scopes associated with the token
Get Webhook Configuration /Webhooks
Returns configured webhook URL and list of webhook event types enabled for the store
Retrieve Basic Information About a Store
Grab all details about a store's basic information.
- ID
- Type
- Name
Retrieve Basic Information About Multiple Stores
Grab all details about multiple store's basic information.
- ID
- Type
- Name
Retrieve Category
Grab all details about the category.
- ID
- Parent ID
- Image URL
- Size
- Title
Retrieve File
Grab all details about a file.
- Type
- ID
- URL
- Options
- Hash
- Filename
- Mime Type
- Size
- Width
- Height
- Dpi
- Status
- Created
- Thumbnail URL
- Preview URL
- Visible
Retrieve Mockup Generation Task Result
Grab all details about an asynchronous mockup generation task result.
- Task Key
- Status
- Error
- Mockups
- Printfiles
Retrieve Order
Grab all details about an order.
Retrieve Product
Grab all details about a specific product and a list of variants for the product.
- Product
- Variants
Retrieve Product Size Guide
Grab all details about the size guide for a specific product.
- Product ID
- Available Sizes
- Size Tables
Retrieve Product Template
Grab all details about a product template.
- ID
- Product ID
- External Product ID
- Title
- Available Variant Ids
- Option Data
- Colors
- Sizes
- Mockup File URL
- Placements
- Created At
- Updated At
Retrieve Sync Product
Grab all details about a single sync product and its sync variants.
- Sync Product
- Sync Variants
Retrieve Variant
Grabs all details about a specific variant and its product.
- Variant
- Product
Retrieve Warehouse Product Data
Grab all details about a warehouse product data.
- ID
- Name
- Status
- Currency
- Image URL
- Retail Price
- Variants
Set Up Webhook Configuration /Webhooks
Allows to enable webhook URL for the store and select webhook event types that will be sent to this URL. Note that only one webhook URL can be active for a store, so calling this method disables all existing webhook configuration. Setting up the webhook requires passing IDs for products that need to be monitored for changes. Stock update webhook will only include information for specified products. These product IDs need to be set up using params property. Method returns current webhook configuration after the update.
Update Order
Modify an unsubmitted order and optionally submits it for the fulfillment.
Update Sync Product
Modifies an existing sync product with its sync variants.
- Sync Product
- Sync Variants
Update Sync Variant
Modifies an existing sync variant.
- ID