Run it by
DocsAPI referencePricingArticles
Sign inGet an API key

In this article

The last mile of a support conversationAsk for exactly what the courier needsMake it look like youWhat comes backWhy not a form builder?All articles

Use case

Collect shipping and booking details from customers without a form builder

Oct 27, 2026 · 5 min read

The last mile of a support conversation

Your support agent has agreed to send a replacement part. Now it needs an address, a delivery window and maybe a phone number for the courier. Asking for these in free text means validating them afterwards. Building a form means someone opening a form builder for a question the agent came up with a minute ago.

Ask for exactly what the courier needs

{
  "mode": "form",
  "title": "Where should we send your replacement?",
  "requester": "Ava (the Acme support agent)",
  "audience": { "kind": "named", "recipients": [{ "name": "Jordan Lee", "email": "jordan@example.com" }] },
  "schema": {
    "type": "object",
    "required": ["address", "window"],
    "properties": {
      "address": { "type": "object", "title": "Delivery address", "x-runitby": { "widget": "location" } },
      "window": { "enum": ["morning", "afternoon", "evening"], "title": "Best time", "x-runitby": { "widget": "chips" } },
      "phone": { "type": "string", "format": "tel", "title": "Phone for the courier" }
    }
  },
  "theme": {
    "accent": "#B4532A",
    "heroText": "Hi Jordan, I need a few details to ship your replacement part.",
    "thankYou": "Thanks! It ships within 2 business days."
  },
  "expiresIn": "7d",
  "webhookUrl": "https://example.com/hooks/runitby",
  "metadata": { "ticket": "T-1042" }
}

The schema is the form. Widgets such as location, chips or slots pick a better control where plain inputs would be clumsy; the full list is in the field types.

Make it look like you

A theme sets colours, fonts, corner radius, a logo and the text above and below the form, so the page looks like part of your product. layout: "single" shows one question at a time, which feels more like a conversation on a phone.

Before sending a form to many customers, call previewRequest: it returns screenshots at phone and desktop widths and a list of anything that will read badly, without creating anything.

What comes back

When Jordan sends the form, your webhook receives response.created with the data already checked against the schema, plus your metadata, so the handler can attach the address to ticket T-1042 and book the courier. If Jordan hasn’t answered by tomorrow, remind emails the link again.

The link stops working when it expires or when you close the request, and answers are deleted 30 or 90 days after delivery on the Free and Builder plans.

Why not a form builder?

Form builders are great when a person designs a form once and shares it many times. Here the agent invents the question at runtime, needs one answer from one person, and needs it as typed data. That’s the case Run it by is built for. The longer comparison is in Run it by vs Typeform, Tally, Fillout and Google Forms.

Try it with your agent

Free for 100 requests a month, no card. Add the MCP server from Claude Code or Codex with one command, or use the REST API.

Start freeRead the docs

Run it by

Get structured data from a person with a link.

Product

DocsPricingArticles

For agents

MCP setupAPI referencellms.txtopenapi.json

Legal

PrivacyTerms
© 2026 Run it by