Purchasing

Email a purchase order

purchasing_send_order · Changes data · Markdown

Emails an order to the supplier with a link to its PDF; a draft takes the next number first.

$0.10 a call

From your agent’s balance. A call that fails costs nothing.

An example

Email the pan order to Nordstahl and ask them to call before they deliver.

Your agent callspurchasing_send_order$0.10 a call

The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.

With these arguments
{
  "order": "8a4c2e6f-1b3d-4f5a-9c7e-0d2b4f6a8c1e",
  "message": "Please call Felix on the morning of the delivery: +49 40 66969 105."
}
What comes back
{
  "order": {
    "order_id": "8a4c2e6f-1b3d-4f5a-9c7e-0d2b4f6a8c1e",
    "number": "PO-0001",
    "status": "sent",
    "supplier": {
      "supplier_id": 4101,
      "name": "Nordstahl Küchentechnik GmbH"
    },
    "currency": "EUR",
    "total": "835.00",
    "issue_date": "2026-10-14",
    "expected_on": "2026-11-02",
    "created_at": "2026-10-14T08:00:00+00:00",
    "lines": [
      {
        "line": 1,
        "sku": "GN-PAN-11",
        "description": "GN 1/1 pan, steel, 65 mm",
        "quantity": "40",
        "unit_cost": "18.5",
        "tax_rate": "0",
        "amount": "740.00",
        "tax": "0.00",
        "received": "0",
        "billed": "0",
        "to_receive": "40"
      },
      {
        "line": 2,
        "sku": null,
        "description": "Delivery",
        "quantity": "1",
        "unit_cost": "95",
        "tax_rate": "0",
        "amount": "95.00",
        "tax": "0.00",
        "received": "0",
        "billed": "0",
        "to_receive": "1"
      }
    ],
    "subtotal": "835.00",
    "tax": "0.00",
    "location": "Main",
    "notes": "Please deliver to the warehouse gate, Billbrookdeich 112.",
    "pdf": {
      "file_id": "e6696cc9-9f24-463f-805e-d411fa2efe73",
      "name": "Purchase order PO-0001.pdf",
      "content_type": "application/pdf",
      "size": "582 bytes",
      "size_bytes": 582,
      "sha256": "7a628ee1199dd863f0236a61a39b6729a977b4ea18a669e9930a57280cb2326e",
      "created_at": "2026-10-14T08:00:00+00:00",
      "download_url": "https://cncto.co/d/e6696cc9-9f24-463f-805e-d411fa2efe73?t=eyJmIjoiZTY2OTZjYzktOWYyNC00NjNmLTgwNWUtZDQxMWZhMmVmZTczIiwiZXhwIjoxNzkyMTYxMjE3fQ:1xHMWX:f2-vnP8F1pUktJ8SkjlEVatB8QEy23b2zktSKfs_koE",
      "link_expires_in_hours": 24
    },
    "bills": [],
    "sent_at": "2026-10-14T08:00:00+00:00",
    "closed_at": null,
    "history": [
      {
        "at": "2026-10-14T08:00:00+00:00",
        "event": "created",
        "detail": "",
        "by": "key 4101 (Pip)"
      },
      {
        "at": "2026-10-14T08:00:00+00:00",
        "event": "sent",
        "detail": "PO-0001",
        "by": "key 4101 (Pip)"
      }
    ]
  },
  "emailed_to": "orders@nordstahl.example"
}

Use it when

A draft is ready to go to the supplier, or a sent one should be emailed again.

What it does

Email an order to the supplier in the business's name, with a link to its PDF. A draft takes the next number first (PO-0001 on, without gaps), its PDF is made and kept in the file store, and it no longer changes; a failed email numbers nothing. An order already sent is emailed again (to `to`, if given). Needs the business's name for documents (invoices_set_profile legal_name) and, for anyone outside the business, a paid account. To record an order as sent without emailing it, use purchasing_update_order with mark_sent ($0.01).

What comes back

order: the order, now numbered and sent, with its PDF link; emailed_to: who it went to. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
orderRequiredstringThe order_id, or the order's number like "PO-0007". 1 to 40 characters.
tostringSend to this address instead of the supplier's email. Up to 254 characters.
messagestringA short note in the email, e.g. "Please deliver to the back door.". Up to 2,000 characters.

The call

Over MCP, call purchasing_send_order on https://api.conecto.chat/mcp/purchasing. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/purchasing_send_order \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"order":"8a4c2e6f-1b3d-4f5a-9c7e-0d2b4f6a8c1e","message":"Please call Felix on the morning of the delivery: +49 40 66969 105."}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404No purchase order has that order_id or number.Find it with purchasing_list_orders.
profile_incomplete409The business has no name for documents yet.Set it with invoices_set_profile legal_name.
order_closed409The order is closed.Draft a new order.
order_cancelled409The order is cancelled.Draft a new order.
no_email409The document has no customer email to send to.Pass to, or set customer.email on the draft with invoices_update.
payment_required_for_outbound402The balance is still free credit, which cannot email people outside the business.Top up once (POST /v1/topups), or send with email: false and hand the link over yourself.
suppressed422The address bounced, complained or unsubscribed before.Send to another address with to.
too_many_emails429This document was emailed as often as it may in 24 hours.Try again tomorrow.
daily_email_limit429The business emailed as many quotes and invoices in 24 hours as it may.Try again tomorrow, or ask Conecto for more.
email_failed502The email could not be sent; nothing was charged.Call again in a moment.
unavailable503The PDF could not be made right now; nothing was charged.Call again in a moment.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md