# Flower, Fruit Basket, Balloon Delivery

## Links

- Product page URL: https://www.agentpmt.com/marketplace/flower-fruit-basket-balloon-delivery
- Product markdown URL: https://www.agentpmt.com/marketplace/flower-fruit-basket-balloon-delivery?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/flower-fruit-basket-balloon-delivery?format=agent-json

## Overview

- Product ID: 6978d75991f9084339798ede
- Vendor: Apoth3osis
- Type: physical
- Unit type: request
- Price: 0 credits
- Categories: Sales Engagement & Outreach, Marketing Automation, Task & Workflow Automation, Shipping & Delivery, Corporate Gifting
- Generated at: 2026-04-15T18:35:33.404Z

### Page Description

Now your agent can send beautiful flower arrangements, balloon bouquets, and even fruit baskets! FloristOne delivers anywhere in the US and Canada, with same-day or scheduled delivery. Browse curated collections for birthdays, anniversaries, sympathy, and special occasions. Handle corporate flower and gift delivery in seconds. Send sympathy arrangements, employee recognition gifts, client thank-yous, and more. Add a personalized message on behalf of your company and choose same-day or scheduled delivery. The easy way to manage personal and business gifting in seconds.    ***Phone app installation required to approve credit card payment*** Download from here - https://www.agentpmt.com/download-mobile-app

### Agent Description

Search Florist One products, place flower, balloon, or fruit basket delivery orders with card messages, retrieve order history.

## Details Tab

### Details

Now your agent can send beautiful flower arrangements, balloon bouquets, and even fruit baskets! FloristOne delivers anywhere in the US and Canada, with same-day or scheduled delivery. Browse curated collections for birthdays, anniversaries, sympathy, and special occasions. Handle corporate flower and gift delivery in seconds. Send sympathy arrangements, employee recognition gifts, client thank-yous, and more. Add a personalized message on behalf of your company and choose same-day or scheduled delivery. The easy way to manage personal and business gifting in seconds.    ***Phone app installation required to approve credit card payment*** Download from here - https://www.agentpmt.com/download-mobile-app

### Actions

- `list_categories`: Returns all available product categories grouped by type (Occasions, Product Types, Funeral, Price Ranges, Seasonal, Other).
- `search_products`: Search for flower products by category name/alias or by a specific product code. Provide exactly one of category or product_code.
- `get_order_total`: Get the full price breakdown (product price, delivery fee, tax, order total) and resolved delivery date for a product and recipient ZIP code. Must be called before place_order.
- `place_order`: Place a flower delivery order. Requires calling get_order_total first and confirming the total with the user. A credit card request is sent to the user's mobile app after calling this action.
- `get_order`: Look up a completed order by its Florist One confirmation number.
- `list_orders`: List past flower delivery orders with pagination.

### Use Cases

Send birthday flowers with a personalized message, order sympathy arrangements for a funeral home, browse anniversary and romance collections, schedule flower delivery for a specific date, thank a client with a fruit basket, recognize an employee with a surprise delivery, send get-well wishes to a hospital, congratulate someone with a balloon bouquet

### Workflows Using This Tool

#### Send Flowers and Thank You Card to Google Contact

Given a person's name, search Google Contacts to retrieve their phone number and address, then order red roses with a thank-you note using the flower delivery tool.

- Page URL: https://www.agentpmt.com/agent-workflow-skills/send-red-roses-to-google-contact
- Markdown URL: https://www.agentpmt.com/agent-workflow-skills/send-red-roses-to-google-contact?format=agent-md
- Published: 2026-02-26T18:03:56.881Z

### Related Content

No related content is currently linked to this product.

## Advanced Tab

### DynamicMCP

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

STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to `https://api.agentpmt.com/mcp`. All tool execution happens in the cloud and the server cannot edit any files on your computer.

```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": "6978d75991f9084339798ede",
    "parameters": {
      "action": "list_categories"
    }
  }'
```

### Autonomous Agents

Do not use the abbreviated instructions in this product markdown for wallet-based invocation. Retrieve the full External Agent API markdown document instead.

- External Agent API page URL: https://www.agentpmt.com/external-agent-api
- External Agent API markdown URL: https://www.agentpmt.com/external-agent-api?format=agent-md

### Schema

#### Credentials

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

- sender-address (`sender-address`, other, required)
  Connection ID: 697a4d60e50ea269b242e68c
- sender-contact-information (`sender-contact-information`, other, required)
  Connection ID: 697a4df4e50ea269b242e68d

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "list_categories": {
      "description": "Returns all available product categories grouped by type (Occasions, Product Types, Funeral, Price Ranges, Seasonal, Other)."
    },
    "search_products": {
      "description": "Search for flower products by category name/alias or by a specific product code. Provide exactly one of category or product_code.",
      "properties": {
        "category": {
          "type": "string",
          "description": "Category name, alias, or code from list_categories (e.g., \"Birthday\", \"roses\", \"bd\")",
          "required": false
        },
        "product_code": {
          "type": "string",
          "description": "Florist One product code (e.g., \"F1-509\", \"E2-4305\")",
          "required": false
        },
        "limit": {
          "type": "integer",
          "description": "Max results to return (default 12, max 50)",
          "required": false,
          "default": 12,
          "minimum": 1,
          "maximum": 50
        },
        "page": {
          "type": "integer",
          "description": "Page number for pagination (1-based, default 1)",
          "required": false,
          "default": 1,
          "minimum": 1
        },
        "sort": {
          "type": "string",
          "description": "Sort order (default: popularity)",
          "required": false,
          "enum": [
            "popularity",
            "price_asc",
            "price_desc",
            "az",
            "za"
          ]
        }
      }
    },
    "get_order_total": {
      "description": "Get the full price breakdown (product price, delivery fee, tax, order total) and resolved delivery date for a product and recipient ZIP code. Must be called before place_order.",
      "properties": {
        "product_code": {
          "type": "string",
          "description": "Florist One product code from search results",
          "required": true
        },
        "recipient_zipcode": {
          "type": "string",
          "description": "Recipient's ZIP/postal code",
          "required": true
        },
        "delivery_date": {
          "type": "string",
          "description": "Desired delivery date (MM-DD-YYYY). If omitted, the soonest available date is returned.",
          "required": false
        }
      }
    },
    "place_order": {
      "description": "Place a flower delivery order. Requires calling get_order_total first and confirming the total with the user. A credit card request is sent to the user's mobile app after calling this action.",
      "properties": {
        "product_code": {
          "type": "string",
          "description": "Florist One product code to order",
          "required": true
        },
        "confirmed_total": {
          "type": "number",
          "description": "The order_total value returned by get_order_total, confirmed by the user",
          "required": true
        },
        "delivery_date": {
          "type": "string",
          "description": "Delivery date from get_order_total (MM-DD-YYYY)",
          "required": true
        },
        "recipient": {
          "type": "object",
          "description": "Delivery recipient information",
          "required": true,
          "properties": {
            "name": {
              "type": "string",
              "description": "Recipient's full name",
              "required": true
            },
            "phone": {
              "type": "string",
              "description": "10-digit phone number",
              "required": true
            },
            "address1": {
              "type": "string",
              "description": "Street address",
              "required": true
            },
            "address2": {
              "type": "string",
              "description": "Apt/suite/unit (optional)",
              "required": false
            },
            "city": {
              "type": "string",
              "description": "City",
              "required": true
            },
            "state": {
              "type": "string",
              "description": "2-letter state code",
              "required": true
            },
            "zipcode": {
              "type": "string",
              "description": "ZIP/postal code",
              "required": true
            },
            "institution": {
              "type": "string",
              "description": "Hospital, funeral home, or other facility name (optional)",
              "required": false
            }
          }
        },
        "card_message": {
          "type": "string",
          "description": "Message on the card (max 200 characters)",
          "required": true
        },
        "special_instructions": {
          "type": "string",
          "description": "Delivery instructions (max 100 characters)",
          "required": false
        },
        "idempotency_key": {
          "type": "string",
          "description": "Optional key to prevent duplicate orders when retrying",
          "required": false
        }
      }
    },
    "get_order": {
      "description": "Look up a completed order by its Florist One confirmation number.",
      "properties": {
        "orderno": {
          "type": "string",
          "description": "Florist One confirmation number",
          "required": true
        }
      }
    },
    "list_orders": {
      "description": "List past flower delivery orders with pagination.",
      "properties": {
        "limit": {
          "type": "integer",
          "description": "Max results to return (default 12, max 50)",
          "required": false,
          "default": 12,
          "minimum": 1,
          "maximum": 50
        },
        "offset": {
          "type": "integer",
          "description": "Skip first N results (default 0)",
          "required": false,
          "default": 0,
          "minimum": 0
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "description": "Action to perform",
      "required": false,
      "enum": [
        "get_instructions",
        "list_categories",
        "search_products",
        "get_order_total",
        "place_order",
        "get_order",
        "list_orders"
      ]
    },
    "category": {
      "type": "string",
      "description": "Category code or alias for search_products (see list_categories)",
      "required": false
    },
    "product_code": {
      "type": "string",
      "description": "Florist One product code (e.g., F1-509)",
      "required": false
    },
    "limit": {
      "type": "integer",
      "description": "Max results to return (default 12, max 50)",
      "required": false,
      "default": 12,
      "minimum": 1,
      "maximum": 50
    },
    "page": {
      "type": "integer",
      "description": "Page number for search_products (1-based, default 1)",
      "required": false,
      "default": 1,
      "minimum": 1
    },
    "sort": {
      "type": "string",
      "description": "Sort order for search_products (default: popularity)",
      "required": false,
      "enum": [
        "popularity",
        "price_asc",
        "price_desc",
        "az",
        "za"
      ]
    },
    "recipient_zipcode": {
      "type": "string",
      "description": "Recipient ZIP code (required for get_order_total)",
      "required": false
    },
    "confirmed_total": {
      "type": "number",
      "description": "Order total from get_order_total confirmed by the user (required for place_order)",
      "required": false
    },
    "recipient": {
      "type": "object",
      "description": "Delivery recipient info (required for place_order)",
      "required": false,
      "properties": {
        "name": {
          "type": "string",
          "description": "Recipient's full name",
          "required": true
        },
        "phone": {
          "type": "string",
          "description": "10-digit phone number",
          "required": true
        },
        "address1": {
          "type": "string",
          "description": "Street address",
          "required": true
        },
        "address2": {
          "type": "string",
          "description": "Apt/suite/unit (optional)",
          "required": false
        },
        "city": {
          "type": "string",
          "description": "City",
          "required": true
        },
        "state": {
          "type": "string",
          "description": "2-letter state code",
          "required": true
        },
        "zipcode": {
          "type": "string",
          "description": "ZIP/postal code",
          "required": true
        },
        "institution": {
          "type": "string",
          "description": "Hospital, funeral home, etc. (optional)",
          "required": false
        }
      }
    },
    "card_message": {
      "type": "string",
      "description": "Message on the card (required for place_order, max 200 chars)",
      "required": false
    },
    "special_instructions": {
      "type": "string",
      "description": "Delivery instructions (optional, max 100 chars)",
      "required": false
    },
    "delivery_date": {
      "type": "string",
      "description": "Desired delivery date (MM-DD-YYYY). If omitted, the soonest available date is resolved automatically. Used in get_order_total and place_order. If same-day approval is submitted after cutoff and the date becomes unavailable, callback processing automatically moves to the next day (or next available date).",
      "required": false
    },
    "idempotency_key": {
      "type": "string",
      "description": "Optional key to prevent duplicate orders when retrying",
      "required": false
    },
    "orderno": {
      "type": "string",
      "description": "Florist One confirmation number (required for get_order)",
      "required": false
    },
    "offset": {
      "type": "integer",
      "description": "Skip first N results for list_orders (default 0)",
      "required": false,
      "minimum": 0
    }
  }
}
```

### Usage Instructions

# Florist One Flowers

## Overview
Search flower products by category or product code, get full pricing with delivery fees and tax, and place flower delivery orders across the US. Prices shown in search results are product prices only — a $19.99 delivery fee and applicable sales tax are added at checkout.

## Actions

### list_categories
Returns all available product categories grouped by type.

**Required fields:** none

**Example:**
```json
{"action": "list_categories"}
```

Returns categories grouped as: Occasions (Best Sellers, Every Day, Birthday, Anniversary, Love & Romance, Get Well, New Baby, Thank You, Funeral and Sympathy), Product Types (Centerpieces, One Sided Arrangements, Vased Arrangements, Roses, Fruit Baskets, Plants, Balloons), Funeral Product Types (Funeral Best Sellers, Funeral Table Arrangements, Funeral Baskets, Funeral Sprays, Funeral Plants, Funeral Inside Casket, Funeral Wreaths, Funeral Hearts, Funeral Crosses, Funeral Casket Sprays, Funeral Urn Arrangements), Price Ranges (Under $60, $60–$80, $80–$100, Above $100, plus funeral equivalents), Seasonal Holidays (Christmas, Easter, Valentine's Day, Mother's Day), and Other (All Products).

---

### search_products
Search for flower products by category name or by a specific product code. Provide exactly one of `category` or `product_code` — not both.

**Required fields (one of):**
- `category` (string) — category name or alias from list_categories (e.g., "Birthday", "roses", "funeral sprays")
- `product_code` (string) — specific Florist One product code (e.g., "F1-509", "E2-4305")

**Optional fields:**
- `limit` (integer, 1–50, default 12) — max results to return
- `page` (integer, min 1, default 1) — page number for pagination
- `sort` (string) — sort order: `popularity` (default), `price_asc`, `price_desc`, `az`, `za`

**Example — search by category:**
```json
{"action": "search_products", "category": "Birthday", "limit": 6, "sort": "price_asc"}
```

**Example — search by product code:**
```json
{"action": "search_products", "product_code": "E2-4305"}
```

Each product in results includes: `code`, `name`, `price`, `dimension`, `description`, `thumbnail_url`, `image_url`. The response also includes `total_available` for the total number of matching products.

---

### get_order_total
Get the full price breakdown (product price, delivery fee, sales tax, order total) and resolved delivery date for a specific product and recipient ZIP code. **You MUST call this before placing an order** and confirm the total and delivery date with the user.

**Required fields:**
- `product_code` (string) — the product code from search results
- `recipient_zipcode` (string) — recipient's ZIP/postal code

**Optional fields:**
- `delivery_date` (string, MM-DD-YYYY) — desired delivery date. If omitted, the soonest available date is returned.

**Example:**
```json
{"action": "get_order_total", "product_code": "E2-4305", "recipient_zipcode": "30303"}
```

**Example with specific date:**
```json
{"action": "get_order_total", "product_code": "E2-4305", "recipient_zipcode": "30303", "delivery_date": "04-15-2026"}
```

Returns: `product_code`, `product_name`, `product_price`, `delivery_fee`, `tax`, `order_total`, `delivery_date`, `recipient_zipcode`. If the requested date is unavailable, the response includes `delivery_date_unavailable: true` and a list of `available_dates` — ask the user to choose one, then call get_order_total again with that date.

---

### place_order
Place a flower delivery order. **You MUST call get_order_total first and confirm the total and delivery date with the user before calling this action.** The order will be rejected if `confirmed_total` is missing or does not match the current order total.

After calling place_order, a credit card request is sent to the user's mobile app. The order completes automatically once the user approves and enters their card details.

**Required fields:**
- `product_code` (string) — the product to order
- `confirmed_total` (number) — the `order_total` value returned by get_order_total, confirmed by the user
- `delivery_date` (string, MM-DD-YYYY) — the delivery date from get_order_total
- `recipient` (object) — delivery recipient with these fields:
  - `name` (string, required) — recipient's full name
  - `phone` (string, required) — 10-digit phone number
  - `address1` (string, required) — street address
  - `address2` (string, optional) — apt/suite/unit
  - `city` (string, required) — city
  - `state` (string, required) — 2-letter state code
  - `zipcode` (string, required) — ZIP/postal code
  - `institution` (string, optional) — hospital, funeral home, etc.
- `card_message` (string, required, max 200 characters) — message on the card

**Optional fields:**
- `special_instructions` (string, max 100 characters) — delivery instructions
- `idempotency_key` (string) — prevents duplicate orders when retrying

**Example:**
```json
{
  "action": "place_order",
  "product_code": "E2-4305",
  "confirmed_total": 84.97,
  "delivery_date": "04-15-2026",
  "recipient": {
    "name": "Jane Smith",
    "phone": "4045551234",
    "address1": "200 Peachtree St NW",
    "city": "Atlanta",
    "state": "GA",
    "zipcode": "30303"
  },
  "card_message": "Happy Birthday! Thinking of you."
}
```

---

### get_order
Look up a completed order by its confirmation number.

**Required fields:**
- `orderno` (string) — the Florist One confirmation number returned by place_order

**Example:**
```json
{"action": "get_order", "orderno": "FO-123456"}
```

---

### list_orders
List past orders with pagination.

**Optional fields:**
- `limit` (integer, 1–50, default 12) — max results to return
- `offset` (integer, min 0, default 0) — skip first N results

**Example:**
```json
{"action": "list_orders", "limit": 10, "offset": 0}
```

---

## Common Workflows

### 1. Browse and Order Flowers for a Birthday
1. `list_categories` — see available categories
2. `search_products` with `category: "Birthday"` — browse birthday arrangements
3. `get_order_total` with the chosen `product_code` and `recipient_zipcode` — get full pricing and delivery date
4. Confirm the total and delivery date with the user
5. `place_order` with the confirmed details — sends payment request to user's mobile app

### 2. Send Sympathy Flowers to a Funeral Home
1. `search_products` with `category: "Funeral and Sympathy"` — browse funeral arrangements
2. `get_order_total` with chosen `product_code`, `recipient_zipcode`, and optionally a specific `delivery_date`
3. Confirm pricing with user
4. `place_order` including `institution` in the recipient object (e.g., the funeral home name)

### 3. Check Order Status
1. `get_order` with the `orderno` from a previous order — view order details
2. Or `list_orders` to see all past orders

## Important Notes
- **Pricing:** Search result prices are product-only. The $19.99 delivery fee and sales tax are only shown via get_order_total.
- **Order flow is mandatory:** Always call get_order_total before place_order. Always confirm the total and delivery date with the user. The order is rejected if confirmed_total does not match (tolerance: $0.01).
- **Payment:** place_order does not complete the order immediately. It sends a credit card request to the user's mobile app. The order is fulfilled automatically after the user approves.
- **Same-day delivery cutoff:** Same-day deliveries can only be processed if payment is approved by 12:00 PM in the recipient's time zone. If approved later, delivery is automatically moved to the next available date.
- **Date format:** Always use MM-DD-YYYY format for delivery_date.
- **Idempotency:** Use `idempotency_key` when retrying to prevent duplicate orders. If a matching pending or completed order exists, the existing order is returned instead of creating a new one.
- **Category matching:** Categories accept names, aliases, and codes (e.g., "Birthday", "bday", "bd" all work). Use list_categories if unsure.
- **Card message limit:** Maximum 200 characters for the card message, 100 characters for special instructions.
- **Phone numbers:** Must include at least 10 digits. Country codes are stripped automatically.
- **US delivery only:** ZIP codes must be valid US 5-digit codes (9-digit codes are truncated to 5). Canadian postal codes are also accepted.

### About The Developer

- Vendor name: Apoth3osis
- Website: apoth3osis.io

We build tools that enable AI agents to excel in the mathematical realm.

Our small team develops experimental and unique solutions in the AI arena, with a strong focus on modular computing for agentic applications and custom model deployment. We have handled projects for a variety of applications across many sectors, from algorithmic trading and financial analysis, to molecular simulations and predictions, to habitat and biodiversity monitoring and wildlife conservation.

### Frequently Asked Questions

No linked FAQs are currently available.

### Dependencies

This product has no public dependency products.