24 actions ready for your AI

Connect Printful to your AI

Add your Printful key once and every AI you use can get sync products, create sync products and get store syncs through it.

Needs your API keyWorks today: paste the key from this app and your AI can use it. One-click sign-in is not built yet.

Not verified by us yet. Its actions come from Printful's own documented API, and we have not run them here yet.

Use your own Printful account. Credentials stay encrypted in ahel.

Tell me when ahel has verified Printful

What your AI can do with Printful

Choose a task and ask your AI.

Sync

  • Get sync productsGET

    Get Sync Products

    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
    status
    Parameter used to filter results by status/group of Sync Products
    category_id
    A comma-separated list of Category IDs of the Products that are to be returned
  • Create sync productPOST

    Create a new Sync Product

    sync_productrequired
    Information about the SyncProduct
    sync_variantsrequired
    Information about the Sync Variants
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
  • Get sync product by idGET

    Get a Sync Product

    idrequired
    Sync Product ID (integer) or External ID (if prefixed with @)
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
  • Get sync variant by idGET

    Get a Sync Variant

    idrequired
    Sync Variant ID (integer) or External ID (if prefixed with @)
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
  • Create sync variantPOST

    Create a new Sync Variant

    idrequired
    Sync Product ID (integer) or External ID (if prefixed with @)
    variant_idrequired
    Printful Variant ID that this Sync Variant is synced to
    filesrequired
    Array of attached printfiles / preview images
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).

Store

  • Get store sync productsGET

    Get list of Sync Products

    search
    Product search needle
    offset
    Result set offset
    limit
    Number of items per page (max 100)
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
  • Get storesGET

    Get basic information about stores

  • Get store sync product by idGET

    Get a Sync Product

    idrequired
    Sync Product ID (integer) or External ID (if prefixed with @)
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
  • Get store sync variant by idGET

    Get a Sync Variant

    idrequired
    Sync Variant ID (integer) or External ID (if prefixed with @)
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).

Order

  • Get ordersGET

    Get list of orders

    status
    Filter by order status
    offset
    Result set offset
    limit
    Number of items per page (max 100)
  • Create orderPOST

    Create a new order

    recipientrequired
    Information about the address
    itemsrequired
    Array of items in the order
    confirm
    Automatically submit the newly created order for fulfillment (skip the Draft phase)
    update_existing
    Try to update existing order if an order with the specified externalid already exists
  • Get order by idGET

    Get order data

    idrequired
    Order ID (integer) or External ID (if prefixed with @)
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).

Product

  • Get productsGET

    Get Products

    category_id
    A comma-separated list of Category IDs of the Products that are to be returned
  • Get product templatesGET

    Get product template list

    offset
    Result set offset
    limit
    Number of items per page (max 100)
  • Get product by idGET

    Get Product

    idrequired
    Product ID.
Show 9 more groups

Approval

  • Get approval sheetsGET

    Retrieve a list of approval sheets

    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).

Category

  • Get categoriesGET

    Get Categories

Change

  • Change packing slipPOST

    Change packing slip

    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
    email
    Customer service email
    phone
    Customer service phone
    message
    Custom packing slip message

Country

  • Get countriesGET

    Retrieve country list

Estimate

  • Estimate order costsPOST

    Estimate order costs

    recipientrequired
    Information about the address
    itemsrequired
    Array of items in the order
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
    external_id
    Order ID from the external system

File

  • Add filePOST

    Add a new file

    urlrequired
    Source URL where the file is downloaded from.
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).
    type
    Role of the file
    options
    Array of additional options for this file See examples

Statistic

  • Get statisticsGET

    Get statistics

    date_fromrequired
    The beginning of the period to get the statistics from (date in Y-m-d format).
    date_torequired
    The end of the period to get the statistics from (date in Y-m-d format).
    report_typesrequired
    A comma-separated list of report types to be retrieved.
    X-PF-Store-Id
    Use this to specify which store you want to use (required only for account level token).

Tax

  • Get tax countriesGET

    Get a list of countries for tax calculation

Warehouse

  • Get warehouse productsGET

    Get a list of your warehouse products

    query
    Filter by partial or full product name
    X-PF-Force-Pagination
    Whether the pagination behavior should be forced.
    limit
    Number of items per page (max 100)
    offset
    Result set offset

Ask your AI

Try one of these requests with a connected AI.

  • Show me the order in Printful
  • Create an order in Printful
  • Show me the product in Printful
  • Show me the warehouse product in Printful
  • Show me the product template in Printful
  • Add a file in Printful

Printful MCP server, hosted by ahel

One hosted endpoint serves Printful. There is nothing to install and no local server to run.

Connect Printful to Claude, Claude Code, Cursor or Codex

  1. Add your Printful key. ahel stores it encrypted.
  2. Paste one link into your AI: https://mcp.ahel.ai (once, for every app).
  3. Ask for the work. Your AI picks the action and ahel runs it with your key.

Documentation

About Printful

Printful is an ecommerce service. Connect your own key and your AI can get sync products, create sync products and get store syncs.

Printful over MCP: ahel serves Printful to Claude, Claude Code, Cursor and Codex as one hosted MCP endpoint. There is no local server to run. Add your Printful key once, paste one link into your AI, and the actions above are there.

Ecommerce

Questions

Is my Printful key safe?

Your Printful key is sealed in ahel and added to the request server-side when your AI calls Printful. It never crosses the MCP link, no tool can read it back, and you can turn the app off or remove the key at any time.

Which AIs can use Printful through ahel?

Any MCP-capable AI: Claude, Claude Code, Codex, Cursor, VS Code and others. Paste one link, https://mcp.ahel.ai, into the AI once and everything in your gateway arrives through it.

What can my AI do with Printful?

24 actions today, covering syncs, stores and orders. Ask in plain language; your AI picks the action and ahel runs it with your key.

Does connecting Printful cost anything?

Connecting apps is free during ahel's early access. Free, Pro and Team all cost nothing today, and the pricing page lists what each one includes. Printful may bill you for API use under its own terms.