# Send a Custom Greeting Card

## Links

- Product page URL: https://www.agentpmt.com/marketplace/send-a-greeting-card
- Product markdown URL: https://www.agentpmt.com/marketplace/send-a-greeting-card?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/send-a-greeting-card?format=agent-json

## Overview

- Product ID: 6985fead269243768b447d9b
- Type: physical
- Unit type: request
- Price: 40000 credits
- Categories: Marketing, Sales Engagement & Outreach, Corporate Gifting, Employee Recognition
- Generated at: 2026-07-15T10:49:13.376Z

### Page Description

Mail custom folded greeting cards to any US address. You control all four panels: front cover (image), inside left, inside right (main message), and back — each panel can be text or image. Cards can be printed in horizontal or vertical orientation. Four font styles for text: handwritten (blue), elegant (charcoal), modern (near-black), classic (black). Printed on premium cardstock, folded, enveloped, and mailed via USPS First Class with tracking.

### Agent Description

Mail custom folded greeting cards to any US address. You control all four panels of the card: front cover (image), inside left (text or image), inside right/main message (text or image), and back (text or image). Choose horizontal or vertical orientation. Four font styles: handwritten (blue), elegant (charcoal), modern (near-black), classic (black). Printed on premium cardstock, folded, enveloped, and mailed via USPS First Class with tracking.

## Details

### Details

Mail custom folded greeting cards to any US address. You control all four panels: front cover (image), inside left, inside right (main message), and back — each panel can be text or image. Cards can be printed in horizontal or vertical orientation. Four font styles for text: handwritten (blue), elegant (charcoal), modern (near-black), classic (black). Printed on premium cardstock, folded, enveloped, and mailed via USPS First Class with tracking.

### Actions

- `render_preview` (400 credits): Generate a preview of the greeting card without mailing. Returns the generated PDF and preview images with signed URLs for review before sending.
- `create_proof` (400 credits): Upload the card to Click2Mail and create the print job without mailing. Used for final review before committing to send.
- `send` (400 credits): Generate the card PDF, print it on premium cardstock, fold it, envelope it, and mail it via USPS First Class to the recipient address.
- `get_order_status` (400 credits): Check the status of a previously sent or proofed card order. Automatically includes USPS tracking information when available.
- `get_tracking` (400 credits): Get USPS tracking details for a previously sent card order.
- `list_orders` (400 credits): List past greeting card orders for the current budget, sorted by most recent first.

### Use Cases

Holiday greeting card campaigns, Customer appreciation and thank-you cards, Birthday and anniversary greetings, Event invitation mailings, Nonprofit donor outreach cards, Real estate follow-up mailers, Employee recognition cards, Brand loyalty and retention mailings, Condolence and sympathy cards, Welcome and onboarding cards

### Workflows Using This Tool

#### Pipedrive Renewal Reminder & Retention Gifting: Tiered Cards and Gift Baskets Before Renewal Dates

Protect your recurring revenue with a proactive, multi-touch renewal play. This AI workflow watches the renewal and contract dates on your Pipedrive deals and accounts and runs a tiered gifting ladder as each renewal approaches — a thoughtful greeting card at 60 days, then a fruit basket or flowers at 30 days when engagement has gone quiet — while creating timed follow-up activities for the account owner so nothing slips. It personalizes every message from the contact's deal notes and logs each gesture back into the CRM. Ideal for subscription and SaaS renewals, customer retention, churn prevention, account management, customer success, and revenue teams who want a relationship-driven renewal cadence Pipedrive can't orchestrate on its own.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-renewal-reminder-retention-gifting-tiered-cards-and-gift-baskets-before-renewal-dates
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-renewal-reminder-retention-gifting-tiered-cards-and-gift-baskets-before-renewal-dates?format=agent-md
- Published: 2026-06-10T02:47:32.812Z

#### Pipedrive Account News Monitor: Auto-Send Congratulations Cards & Flowers on Client Milestones

Never miss a reason to reach out. This AI workflow monitors the news for your most important Pipedrive accounts every week — funding rounds, awards, expansions, product launches, and executive hires — and turns real headlines into perfectly timed, genuinely relevant congratulations. The agent drafts a personalized note that references the actual news, mails a printed greeting card, and for major milestones like a funding round sends flowers, then logs the outreach and the source article onto the account in Pipedrive and alerts the deal owner. Built for account-based selling, relationship management, customer marketing, executive engagement, and sales teams who want to look remarkably attentive — a timely, news-triggered gifting play Pipedrive cannot do natively.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-account-news-monitor-auto-send-congratulations-cards-flowers-on-client-milestones
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-account-news-monitor-auto-send-congratulations-cards-flowers-on-client-milestones?format=agent-md
- Published: 2026-06-10T02:47:26.060Z

#### Pipedrive Personalized Direct Mail Engine: AI-Designed Greeting Cards to Any CRM Segment

Turn any Pipedrive segment into a personalized direct-mail campaign in minutes. Point this AI workflow at a Pipedrive filter — a pipeline stage, a customer tier, a sales territory, or won deals this quarter — and it writes a unique, on-brand message for every contact from their real deal history and notes, designs a custom greeting-card cover with AI image generation, and mails a premium printed, folded card to each recipient's address with USPS tracking. Every send is logged back onto the contact record for a complete touch history. Perfect for holiday card campaigns, customer appreciation mailers, account-based marketing, thank-you and welcome cards, re-engagement direct mail, and personalized print outreach at scale — the high-response offline channel Pipedrive has no native way to run.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-personalized-direct-mail-engine-ai-designed-greeting-cards-to-any-crm-segment
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-personalized-direct-mail-engine-ai-designed-greeting-cards-to-any-crm-segment?format=agent-md
- Published: 2026-06-10T02:47:20.852Z

#### Pipedrive At-Risk Deal Rescue: Auto-Send Flowers & Gift Baskets to Stalled High-Value Accounts

Automatically win back stalled, high-value Pipedrive deals before they go cold. This AI sales workflow scans your CRM for your most valuable open deals and key accounts with no activity in the last N days, ranks them by deal value, and sends a perfectly chosen physical gift — a handwritten greeting card, a fruit basket, or fresh flowers — scaled to the size of the relationship. It reads each contact's deal notes to personalize the card message and avoid preference and allergy missteps, ships to their address, logs the gesture as a Pipedrive note and follow-up activity, and alerts the deal owner. Ideal for account-based selling, customer retention, churn prevention, pipeline re-engagement, VIP client management, and revenue teams who want to revive aging deals with a human touch Pipedrive can't automate on its own.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-at-risk-deal-rescue-auto-send-flowers-gift-baskets-to-stalled-high-value-accounts
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/pipedrive-at-risk-deal-rescue-auto-send-flowers-gift-baskets-to-stalled-high-value-accounts?format=agent-md
- Published: 2026-06-10T02:46:49.086Z

#### Real Estate Open House Thank You Card Mailer

Automates personalized thank-you greeting cards for open house attendees. Pulls the latest attendee list from Google Sheets (names, addresses, and interests), scrapes the property listing photo AND property details from realtor.com, verifies address match, then creates and mails a custom folded greeting card to each attendee. The front features the listing photo, the back has the agent's logo, and the inside contains a personalized thank-you message with action-provoking phrases that reference ONLY factual property features verified from the listing.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/real-estate-open-house-thank-you-card-mailer
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/real-estate-open-house-thank-you-card-mailer?format=agent-md
- Published: 2026-03-02T00:17:40.261Z

### Related Content

No related content is currently linked to this product.

## Integration Details

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp#platform=claude
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp#platform=chatgpt
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp#platform=cursor
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp#platform=windsurf

Use the local router for command-based MCP clients. It forwards requests to `https://api.agentpmt.com/mcp` and does not execute tools locally.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "6985fead269243768b447d9b",
    "parameters": {
      "action": "render_preview",
      "orientation": "horizontal",
      "font_style": "handwritten"
    }
  }'
```

### Autonomous Agents

Autonomous agents can access this tool through AgentAddress credit balances or direct x402 payments. Use the Autonomous Agent API reference for endpoint shapes after choosing the access pattern below.

- Autonomous Agent API reference URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents
- Autonomous Agent API reference markdown URL: https://www.agentpmt.com/docs/api-reference/autonomous-agents?format=agent-md
- Credit-Based Access Using AgentAddress: https://www.agentpmt.com/docs/autonomous-agents/credit-based-tool-usage-with-agentaddress
- AgentAddress is preferred for persistent file access, stored platform state, and maximum tool use ability across repeated calls.
- Direct x402 is for independent one-off tool calls that do not require shared files or stored platform state.
- Direct x402 public payments: USDC on Base, Arbitrum, Optimism, Polygon, and Avalanche.

#### Product Skill Package

This product has a published Agent Skill package for product-specific operating instructions.

- Skill slug: send-a-custom-greeting-card
- Version: 1.0.0
- Download SKILL.md: https://raw.githubusercontent.com/AgentPMT/agent-skills/main/skills/send-a-custom-greeting-card/SKILL.md
- Package source: https://github.com/AgentPMT/agent-skills/tree/main/skills/send-a-custom-greeting-card
- OpenClaw listing: https://clawhub.ai/agentpmt/send-a-custom-greeting-card
- OpenClaw install: `openclaw skills install send-a-custom-greeting-card`
- skills.sh install: `npx skills add AgentPMT/agent-skills --skill send-a-custom-greeting-card`
- Last published: 2026-06-24T08:03:17.002Z

### Schema

#### Credentials

These runtime credentials should be provided under `parameters._credentials` when required.

- Mailing Return Address (`return_address`, custom_object, required)
  Help: Your mailing return address that will appear on postcards, certified mail, and greeting cards.
  Connection ID: 699bd1575d91e2e53cf956a0

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "render_preview": {
      "description": "Generate a preview of the greeting card without mailing. Returns the generated PDF and preview images with signed URLs for review before sending.",
      "properties": {
        "orientation": {
          "type": "string",
          "enum": [
            "horizontal",
            "vertical"
          ],
          "default": "horizontal",
          "description": "Card orientation. horizontal: landscape panels, card folds along top edge. vertical: portrait panels, card folds along left edge.",
          "required": false
        },
        "font_style": {
          "type": "string",
          "enum": [
            "handwritten",
            "elegant",
            "modern",
            "classic"
          ],
          "default": "handwritten",
          "description": "Font style for text panels. handwritten = blue pen-on-paper, elegant = charcoal formal, modern = clean contemporary, classic = traditional black.",
          "required": false
        },
        "front_cover_image_url": {
          "type": "string",
          "description": "URL to front cover image (JPG/PNG). Required for card builder mode.",
          "required": false
        },
        "front_cover_image_file_id": {
          "type": "string",
          "description": "File ID of front cover image. Alternative to URL for card builder mode.",
          "required": false
        },
        "inside_left_text": {
          "type": "string",
          "description": "Text for inside left panel (visible when card is opened, left side).",
          "required": false
        },
        "inside_left_image_url": {
          "type": "string",
          "description": "Image URL for inside left panel. Provide text OR image for each panel, not both.",
          "required": false
        },
        "inside_left_image_file_id": {
          "type": "string",
          "description": "File ID for inside left image.",
          "required": false
        },
        "inside_right_text": {
          "type": "string",
          "description": "Text for inside right panel — the main message area. Provide text OR image, not both.",
          "required": false
        },
        "inside_right_image_url": {
          "type": "string",
          "description": "Image URL for inside right panel.",
          "required": false
        },
        "inside_right_image_file_id": {
          "type": "string",
          "description": "File ID for inside right image.",
          "required": false
        },
        "back_text": {
          "type": "string",
          "description": "Text for back of card (small branding, attribution, etc.).",
          "required": false
        },
        "back_image_url": {
          "type": "string",
          "description": "Image URL for back of card.",
          "required": false
        },
        "back_image_file_id": {
          "type": "string",
          "description": "File ID for back image.",
          "required": false
        },
        "document_pdf_url": {
          "type": "string",
          "description": "Public URL to a print-ready 2-page PDF (raw PDF mode, mutually exclusive with card builder fields).",
          "required": false
        },
        "document_pdf_file_id": {
          "type": "string",
          "description": "File ID of a print-ready PDF in cloud storage (raw PDF mode).",
          "required": false
        }
      }
    },
    "create_proof": {
      "description": "Upload the card to Click2Mail and create the print job without mailing. Used for final review before committing to send.",
      "properties": {
        "orientation": {
          "type": "string",
          "enum": [
            "horizontal",
            "vertical"
          ],
          "default": "horizontal",
          "description": "Card orientation. horizontal: landscape panels. vertical: portrait panels.",
          "required": false
        },
        "font_style": {
          "type": "string",
          "enum": [
            "handwritten",
            "elegant",
            "modern",
            "classic"
          ],
          "default": "handwritten",
          "description": "Font style for text panels.",
          "required": false
        },
        "front_cover_image_url": {
          "type": "string",
          "description": "URL to front cover image (JPG/PNG).",
          "required": false
        },
        "front_cover_image_file_id": {
          "type": "string",
          "description": "File ID of front cover image.",
          "required": false
        },
        "inside_left_text": {
          "type": "string",
          "description": "Text for inside left panel.",
          "required": false
        },
        "inside_left_image_url": {
          "type": "string",
          "description": "Image URL for inside left panel.",
          "required": false
        },
        "inside_left_image_file_id": {
          "type": "string",
          "description": "File ID for inside left image.",
          "required": false
        },
        "inside_right_text": {
          "type": "string",
          "description": "Text for inside right panel — the main message area.",
          "required": false
        },
        "inside_right_image_url": {
          "type": "string",
          "description": "Image URL for inside right panel.",
          "required": false
        },
        "inside_right_image_file_id": {
          "type": "string",
          "description": "File ID for inside right image.",
          "required": false
        },
        "back_text": {
          "type": "string",
          "description": "Text for back of card.",
          "required": false
        },
        "back_image_url": {
          "type": "string",
          "description": "Image URL for back of card.",
          "required": false
        },
        "back_image_file_id": {
          "type": "string",
          "description": "File ID for back image.",
          "required": false
        },
        "document_pdf_url": {
          "type": "string",
          "description": "Public URL to a print-ready 2-page PDF (raw PDF mode).",
          "required": false
        },
        "document_pdf_file_id": {
          "type": "string",
          "description": "File ID of a print-ready PDF (raw PDF mode).",
          "required": false
        },
        "recipient_address": {
          "type": "object",
          "description": "Recipient mailing address (US only). Must include name or organization.",
          "required": true,
          "properties": {
            "name": {
              "type": "string",
              "description": "Recipient full name.",
              "required": false
            },
            "organization": {
              "type": "string",
              "description": "Organization name (can be used instead of or with name).",
              "required": false
            },
            "address1": {
              "type": "string",
              "description": "Street address line 1.",
              "required": true
            },
            "address2": {
              "type": "string",
              "description": "Street address line 2.",
              "required": false
            },
            "city": {
              "type": "string",
              "description": "City.",
              "required": true
            },
            "state": {
              "type": "string",
              "description": "Two-letter state code.",
              "required": true
            },
            "postal_code": {
              "type": "string",
              "description": "ZIP code.",
              "required": true
            }
          }
        }
      }
    },
    "send": {
      "description": "Generate the card PDF, print it on premium cardstock, fold it, envelope it, and mail it via USPS First Class to the recipient address.",
      "properties": {
        "orientation": {
          "type": "string",
          "enum": [
            "horizontal",
            "vertical"
          ],
          "default": "horizontal",
          "description": "Card orientation. horizontal: landscape panels. vertical: portrait panels.",
          "required": false
        },
        "font_style": {
          "type": "string",
          "enum": [
            "handwritten",
            "elegant",
            "modern",
            "classic"
          ],
          "default": "handwritten",
          "description": "Font style for text panels.",
          "required": false
        },
        "front_cover_image_url": {
          "type": "string",
          "description": "URL to front cover image (JPG/PNG).",
          "required": false
        },
        "front_cover_image_file_id": {
          "type": "string",
          "description": "File ID of front cover image.",
          "required": false
        },
        "inside_left_text": {
          "type": "string",
          "description": "Text for inside left panel.",
          "required": false
        },
        "inside_left_image_url": {
          "type": "string",
          "description": "Image URL for inside left panel.",
          "required": false
        },
        "inside_left_image_file_id": {
          "type": "string",
          "description": "File ID for inside left image.",
          "required": false
        },
        "inside_right_text": {
          "type": "string",
          "description": "Text for inside right panel — the main message area.",
          "required": false
        },
        "inside_right_image_url": {
          "type": "string",
          "description": "Image URL for inside right panel.",
          "required": false
        },
        "inside_right_image_file_id": {
          "type": "string",
          "description": "File ID for inside right image.",
          "required": false
        },
        "back_text": {
          "type": "string",
          "description": "Text for back of card.",
          "required": false
        },
        "back_image_url": {
          "type": "string",
          "description": "Image URL for back of card.",
          "required": false
        },
        "back_image_file_id": {
          "type": "string",
          "description": "File ID for back image.",
          "required": false
        },
        "document_pdf_url": {
          "type": "string",
          "description": "Public URL to a print-ready 2-page PDF (raw PDF mode).",
          "required": false
        },
        "document_pdf_file_id": {
          "type": "string",
          "description": "File ID of a print-ready PDF (raw PDF mode).",
          "required": false
        },
        "recipient_address": {
          "type": "object",
          "description": "Recipient mailing address (US only). Must include name or organization.",
          "required": true,
          "properties": {
            "name": {
              "type": "string",
              "description": "Recipient full name.",
              "required": false
            },
            "organization": {
              "type": "string",
              "description": "Organization name (can be used instead of or with name).",
              "required": false
            },
            "address1": {
              "type": "string",
              "description": "Street address line 1.",
              "required": true
            },
            "address2": {
              "type": "string",
              "description": "Street address line 2.",
              "required": false
            },
            "city": {
              "type": "string",
              "description": "City.",
              "required": true
            },
            "state": {
              "type": "string",
              "description": "Two-letter state code.",
              "required": true
            },
            "postal_code": {
              "type": "string",
              "description": "ZIP code.",
              "required": true
            }
          }
        }
      }
    },
    "get_order_status": {
      "description": "Check the status of a previously sent or proofed card order. Automatically includes USPS tracking information when available.",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "Order ID returned from a previous send or create_proof call.",
          "required": true
        }
      }
    },
    "get_tracking": {
      "description": "Get USPS tracking details for a previously sent card order.",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "Order ID returned from a previous send call.",
          "required": true
        },
        "tracking_type": {
          "type": "string",
          "enum": [
            "IMB",
            "IMPB"
          ],
          "description": "Tracking type. Default: IMB.",
          "required": false
        }
      }
    },
    "list_orders": {
      "description": "List past greeting card orders for the current budget, sorted by most recent first.",
      "properties": {
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 50,
          "default": 10,
          "description": "Number of orders to return.",
          "required": false
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "description": "Action to perform. Use 'create_proof' to upload to Click2Mail and create the job without mailing (for review).",
      "required": true,
      "default": "send",
      "enum": [
        "get_instructions",
        "render_preview",
        "create_proof",
        "send",
        "get_order_status",
        "list_orders"
      ]
    },
    "orientation": {
      "type": "string",
      "description": "Card orientation. Horizontal: landscape panels (default). Vertical: portrait panels.",
      "required": false,
      "default": "horizontal",
      "enum": [
        "horizontal",
        "vertical"
      ]
    },
    "font_style": {
      "type": "string",
      "description": "Font style for text panels. handwritten = blue pen-on-paper, elegant = charcoal formal, modern = clean contemporary, classic = traditional black.",
      "required": false,
      "default": "handwritten",
      "enum": [
        "handwritten",
        "elegant",
        "modern",
        "classic"
      ]
    },
    "front_cover_image_url": {
      "type": "string",
      "description": "URL to front cover image (JPG/PNG). Required for card builder mode.",
      "required": false
    },
    "front_cover_image_file_id": {
      "type": "string",
      "description": "File ID of front cover image. Required for card builder mode (alternative to URL).",
      "required": false
    },
    "inside_left_text": {
      "type": "string",
      "description": "Text for inside left panel (visible when card is opened, left side).",
      "required": false
    },
    "inside_left_image_url": {
      "type": "string",
      "description": "Image URL for inside left panel. Provide text OR image for each panel, not both.",
      "required": false
    },
    "inside_left_image_file_id": {
      "type": "string",
      "description": "File ID for inside left image.",
      "required": false
    },
    "inside_right_text": {
      "type": "string",
      "description": "Text for inside right panel — the main message area. Provide text OR image, not both.",
      "required": false
    },
    "inside_right_image_url": {
      "type": "string",
      "description": "Image URL for inside right panel.",
      "required": false
    },
    "inside_right_image_file_id": {
      "type": "string",
      "description": "File ID for inside right image.",
      "required": false
    },
    "back_text": {
      "type": "string",
      "description": "Text for back of card (small branding, attribution, etc.).",
      "required": false
    },
    "back_image_url": {
      "type": "string",
      "description": "Image URL for back of card.",
      "required": false
    },
    "back_image_file_id": {
      "type": "string",
      "description": "File ID for back image.",
      "required": false
    },
    "recipient_address": {
      "type": "object",
      "description": "Recipient mailing address (US only). Required for create_proof and send.",
      "required": false,
      "properties": {
        "name": {
          "type": "string",
          "description": "Recipient full name",
          "required": false
        },
        "organization": {
          "type": "string",
          "description": "Organization name (can be used instead of or with name)",
          "required": false
        },
        "address1": {
          "type": "string",
          "required": true
        },
        "address2": {
          "type": "string",
          "required": false
        },
        "city": {
          "type": "string",
          "required": true
        },
        "state": {
          "type": "string",
          "description": "Two-letter state code",
          "required": true
        },
        "postal_code": {
          "type": "string",
          "required": true
        }
      }
    },
    "order_id": {
      "type": "string",
      "description": "Order ID from a previous send (for get_order_status)",
      "required": false
    },
    "limit": {
      "type": "integer",
      "description": "Number of orders to return for list_orders",
      "required": false,
      "default": 10,
      "minimum": 1,
      "maximum": 50
    }
  }
}
```

### Usage Instructions

# Send a Custom Greeting Card

Mail custom folded greeting cards to any US address. Provide panel content (front cover image, inside text/images, back text/image) and the backend generates a print-ready PDF, prints it on premium 120# white uncoated cardstock, folds it, envelopes it, and mails it via USPS First Class.

## Overview

This tool creates and mails physical folded greeting cards. There are two modes:

- **Card Builder Mode (recommended):** Provide individual panel content (front cover image, inside left/right text or images, back text or image) and the system assembles a print-ready 2-page PDF automatically.
- **Raw PDF Mode:** Provide your own pre-built 2-page PDF (must be exactly 2 pages, 5.5 x 8.5 inches flat).

The recommended workflow is: preview first, then send after user approval.

### Panel Layout

```
PAGE 1 (outside)            PAGE 2 (inside)
+------------------+        +------------------+
|   BACK panel     |        |   INSIDE LEFT    |
|  (rotated 180)   |        |                  |
+------------------+        +------------------+
|   FRONT COVER    |        |   INSIDE RIGHT   |
|  (right-side up) |        |   (message area) |
+------------------+        +------------------+
```

- **Front cover** -- always an image (required in card builder mode). This is the card front when folded.
- **Inside left** -- text or image (optional). Visible when card is opened, left side.
- **Inside right** -- text or image (optional). The main message/greeting area.
- **Back** -- text or image (optional). Small branding, attribution, etc.

Each panel accepts text OR image (not both). Panels left empty render as blank white.

### Physical Card Specs
- Flat sheet: 5.5 x 8.5 inches portrait (1650 x 2550 px at 300 DPI)
- Folded: 5.5 x 4.25 inches
- Paper: 120# White Uncoated premium cardstock
- Mailed in envelope with printed address via USPS First Class

## Actions

### render_preview

Generate a preview of the card without mailing. Returns the generated PDF (with signed URL) and preview images (front and inside JPGs with signed URLs) for the user to review before committing to send.

**Required parameters (card builder mode -- at least one panel content field):**
- `front_cover_image_url` (string) -- URL to front cover image (JPG/PNG). Required in card builder mode.
- OR `front_cover_image_file_id` (string) -- File ID of front cover image. Alternative to URL.

**Required parameters (raw PDF mode -- exactly one of):**
- `document_pdf_url` (string) -- Public URL to a print-ready 2-page PDF.
- `document_pdf_file_id` (string) -- File ID of a print-ready PDF in cloud storage.

**Optional parameters (card builder mode):**
- `orientation` (string, default: `"horizontal"`) -- Card orientation. `horizontal`: landscape panels, card folds along top edge. `vertical`: portrait panels, card folds along left edge.
- `font_style` (string, default: `"handwritten"`) -- Font style for text panels. Options: `handwritten` (Caveat, blue), `elegant` (Playfair Display, charcoal), `modern` (Montserrat, near-black), `classic` (Liberation Serif, black).
- `inside_left_text` (string) -- Text for inside left panel.
- `inside_left_image_url` (string) -- Image URL for inside left panel.
- `inside_left_image_file_id` (string) -- File ID for inside left image.
- `inside_right_text` (string) -- Text for inside right panel (main message area).
- `inside_right_image_url` (string) -- Image URL for inside right panel.
- `inside_right_image_file_id` (string) -- File ID for inside right image.
- `back_text` (string) -- Text for back of card.
- `back_image_url` (string) -- Image URL for back of card.
- `back_image_file_id` (string) -- File ID for back image.

#### Example: Preview with card builder

```json
{
  "action": "render_preview",
  "front_cover_image_url": "https://example.com/front.jpg",
  "inside_right_text": "Happy Birthday!\n\nWishing you all the best.",
  "font_style": "handwritten"
}
```

#### Example: Preview with raw PDF

```json
{
  "action": "render_preview",
  "document_pdf_url": "https://example.com/my-card.pdf"
}
```

### create_proof

Upload the card to the print service and create the print job without mailing. This creates the job in the print system for final review. Requires a recipient address.

**Required parameters:**
- Card content: same as `render_preview` (card builder fields or raw PDF).
- `recipient_address` (object) -- Recipient mailing address (US only). Required fields within: `address1`, `city`, `state` (two-letter code), `postal_code`. Must also include `name` or `organization` (or both).

**Optional parameters:**
- All card builder options from `render_preview` (`orientation`, `font_style`, panel content fields).

#### Example: Create proof

```json
{
  "action": "create_proof",
  "front_cover_image_file_id": "FILE_ID",
  "inside_right_text": "Thank you for your business!",
  "font_style": "elegant",
  "recipient_address": {
    "name": "Jane Doe",
    "address1": "123 Main St",
    "city": "Austin",
    "state": "TX",
    "postal_code": "78701"
  }
}
```

### send

Generate the card PDF, print it, and mail it to the recipient. Returns the order ID, document PDF (with signed URL), and preview images.

**Required parameters:**
- Card content: same as `render_preview` (card builder fields or raw PDF).
- `recipient_address` (object) -- Recipient mailing address (US only). Required fields within: `address1`, `city`, `state` (two-letter code), `postal_code`. Must also include `name` or `organization` (or both). Optional: `address2`, `country` (defaults to "US").

**Optional parameters:**
- All card builder options from `render_preview` (`orientation`, `font_style`, panel content fields).

#### Example: Send a greeting card (card builder)

```json
{
  "action": "send",
  "front_cover_image_file_id": "FILE_ID",
  "inside_right_text": "Happy Birthday!\n\nWishing you all the best.",
  "back_text": "Made with love",
  "font_style": "elegant",
  "orientation": "horizontal",
  "recipient_address": {
    "name": "Jane Doe",
    "address1": "123 Main St",
    "city": "Austin",
    "state": "TX",
    "postal_code": "78701"
  }
}
```

#### Example: Send with all panels filled

```json
{
  "action": "send",
  "front_cover_image_url": "https://example.com/holiday-photo.jpg",
  "inside_left_image_url": "https://example.com/family-photo.jpg",
  "inside_right_text": "Season's Greetings!\n\nWishing you warmth and joy this holiday season.",
  "back_text": "From the Smith Family, 2026",
  "font_style": "classic",
  "recipient_address": {
    "name": "The Johnson Family",
    "address1": "789 Pine Rd",
    "city": "Denver",
    "state": "CO",
    "postal_code": "80202"
  }
}
```

### get_order_status

Check the status of a previously sent or proofed card order. Automatically includes USPS tracking information when available.

**Required parameters:**
- `order_id` (string) -- Order ID returned from a previous `send` or `create_proof` call.

#### Example: Check order status

```json
{
  "action": "get_order_status",
  "order_id": "ORDER_ID"
}
```

### get_tracking

Get USPS tracking details for a previously sent card order.

**Required parameters:**
- `order_id` (string) -- Order ID returned from a previous `send` call.

**Optional parameters:**
- `tracking_type` (string) -- Tracking barcode type. Options: `IMB` (Intelligent Mail Barcode, default), `IMPB` (Intelligent Mail Package Barcode).

#### Example: Get tracking

```json
{
  "action": "get_tracking",
  "order_id": "ORDER_ID"
}
```

#### Example: Get package tracking

```json
{
  "action": "get_tracking",
  "order_id": "ORDER_ID",
  "tracking_type": "IMPB"
}
```

### list_orders

List past greeting card orders for the current budget, sorted by most recent first.

**Optional parameters:**
- `limit` (integer, default: 10, min: 1, max: 50) -- Number of orders to return.

#### Example: List recent orders

```json
{
  "action": "list_orders",
  "limit": 10
}
```

## Workflows

### Preview then send (recommended)
1. Call `render_preview` with the card content to generate a proof.
2. The response includes `document_file` (full PDF with signed URL) and `preview_images` (front and inside JPGs with signed URLs). Show these to the user for review.
3. Once the user approves, call `send` with the same card content plus `recipient_address`.

### Create proof then approve
1. Call `create_proof` with card content and recipient address to create a print job without mailing.
2. Review the proof in the print system.
3. Use the order ID to check status with `get_order_status`.

### Check delivery status
1. After sending, save the `order_id` from the response.
2. Call `get_order_status` with that `order_id` to check printing and mailing status.
3. Use `get_tracking` for detailed USPS tracking information.

## Notes

- **US addresses only.** International mailing is not supported.
- **Recipient must include `name` or `organization`** (or both) in the address.
- **Card builder mode and raw PDF mode are mutually exclusive.** Use one or the other; providing both returns an error.
- **Each panel is text OR image, not both.** Providing both text and image for the same panel returns an error.
- **Front cover image is required** in card builder mode. It must be a direct link to a JPG or PNG image.
- **For each image panel,** provide either the URL or file ID, not both.
- **Raw PDF must be exactly 2 pages.** Page 1 is the outside (front cover + back), page 2 is the inside (left + right panels).
- **Font auto-sizing:** Text is automatically sized to fit within the panel (72px max, 18px min).
- **Preview files expire after 7 days.** The signed URLs for document PDFs and preview images are temporary.
- **Text supports newlines.** Use `\n` in text fields for line breaks.
- **Images are cover-cropped** to fill the panel exactly (no margins, no distortion).

### Frequently Asked Questions

#### How do I connect this tool to an external agent?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

You can install the local MCP server by opening a terminal and running:

```
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

This will connect you to local agents like Claude Code, Windsurf, Grok Build, Cursor, etc.

Alternatively you can connect to the hosted version with this config block, no installation required:

```
{
  "mcpServers": {
    "agentpmt": {
      "type": "streamable-http",
      "url": "https://api.agentpmt.com/mcp",
      "headers": {
        "Authorization": "Bearer <AGENTPMT_BEARER_TOKEN>",
        "x-instance-metadata": "{\"client\":\"generic-mcp\",\"platform\":\"remote\"}"
      }
    }
  }
}
```

[View MCP Connection Instructions](/docs/mcp-reference/connection) for more details.

#### How does an external agent use this tool?

- Page URL: https://www.agentpmt.com/faq
- Markdown URL: https://www.agentpmt.com/faq?format=agent-md

After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:

> Use the AgentPMT-Tool-Search-and-Execution tool. First call action 'get\_instructions' so you know how to use the tool search interface. Then call action 'get\_schema' with tool\_id 6985fead269243768b447d9b ("Send a Custom Greeting Card"). After reading the schema and any returned instructions, tell me what this tool can do, we are going to be using it

The agent should fetch the tool schema first, collect the required parameters for your request, and then call the tool through AgentPMT.

### Dependencies

These products are automatically added when this product is enabled on the page UI.

#### File Management

Upload, list, retrieve, share, download, delete, and manage files stored in AgentPMT cloud storage. This product now owns the full file lifecycle, including signed upload URLs for files up to 10MB and for files over 10MB up to 100MB, budget-scoped file listing with preview URLs, fresh signed download URLs, direct base64 download for smaller files, password-protected sharing, metadata and tag updates, access-history inspection, and expiration extension. All file operations are scoped to the current budget for isolation and are designed to let one budget create persistent files that can be revisited across later agent runs.

- Page URL: https://www.agentpmt.com/marketplace/file-management
- Markdown URL: https://www.agentpmt.com/marketplace/file-management?format=agent-md