ambleloft

Follow-up input: confirmation, drafts and recovery

The app includes the Supplemental information skill, which the agent can read and use through host tools. Use it directly in chat. This page explains answer confirmation and the tool boundaries relevant to developers.

PRACTICAL GUIDE

Outcome: Provide and confirm details in chat, and understand the difference between drafts and answers.

Before you begin: Use the built-in Supplemental information skill directly in app chat.

On this page

01Use it in chat

Describe your task and answer the necessary follow-up questions. Submit related details through the form above the composer, or add them in chat. Built-in dynamic forms require no SDK, CLI or business demo. Confirmed details support the original task; collecting them does not authorize a business submission.

Start a conversation

02Confirming and changing answers

Prefilled values and unfinished drafts are not confirmed answers. The agent can interpret a text reply; if the host asks you to confirm a proposed change, review it first. Cancelling one follow-up request and stopping the entire task are separate actions. Check delivery records before resending when delivery is uncertain.

03Developer reference: optional static validation

This optional command checks tool arguments for developers; ordinary chat use does not require it. Install the matching CLI in a development project to run the check. Validation does not create a host form or verify permissions or runtime results. Shanghai is an example prefill; real requests should use user-provided facts or clearly labeled, editable suggestions.

Code example
cat > input-request.json <<'JSON'
{
  "name": "input_request",
  "arguments": {
    "requestKey": "travel-destination-1",
    "reason": "A destination is needed to prepare the itinerary",
    "source": {
      "kind": "dynamic",
      "definition": {
        "title": "Add a destination",
        "fields": [
          {
            "name": "destination",
            "type": "text",
            "label": "Destination",
            "required": true
          }
        ]
      }
    },
    "prefill": {
      "destination": "Shanghai"
    }
  }
}
JSON
npx --no-install amble-extension validate-input input-request.json --json
View the same JSON file

04Developer reference: model tool flow

The model discovers tools, calls input_capabilities and uses input_list to reuse existing requests. input_request returns immediately; source.kind="dynamic" does not depend on a registered template. After a user submission event, read the confirmed snapshot with input_read_answer and its requestId. A pending answer is null. answered and delivery.state=delivered describe separate states. The SDK distributes types and schemas, not a Node or page inputs API.

05Errors, drafts and retries

Failures return {ok:false,error:{code,message,details?}}, without operation requestId/effectStatus. Lists use id; receipts use requestId. Identical input_request retries return current state; cancel/replace/resolve retries return the original receipt. With edited drafts, replace/resolve may return confirmationRequired and proposalId; wait for user confirmation. input_cancel does not stop the task. Investigate unknown delivery before any resend.

06Lifecycle and next steps

Invalidated sources can expire pending requests; archived chats reject model operations; deleting a chat clears requests and deliveries. Models cannot read drafts. Existing answers are not guaranteed permanent retention or continued delivery. Use the declarative UI guide to display or select business data.

Explore declarative UI

Check the result and troubleshoot

Provide and confirm details in chat, and understand the difference between drafts and answers.

Check actual results using this page’s verification steps. For business integrations, inspect UI submission, tool receipts and server records separately.

Open the error reference →
SDK / CLI 0.1.0-alpha.9 · Contract baseline Compatibility and preview notes · Sample source