WebUplink
Guides

Executing Actions

Execute single and batch tool actions on pages with WebUplink.

Executing Actions

After observing a page, your agent can execute tools to interact with it. Tool execution requires a Builder or Pro plan.

Single Tool Execution

Execute one tool at a time using tool and params:

// Step 1: Browse a page
const page = await client.browse('https://google.com/travel/flights');
// page.tools → [{ name: "search_flights", params: [...] }]

// Step 2: Execute a tool
const results = await client.browse({
  session_id: page.session_id,
  tool: 'search_flights',
  params: {
    origin: 'SFO',
    destination: 'Barcelona',
    departure_date: '2026-07-01',
  },
});

// Step 3: Check the result
console.log(results.results);
// [{ tool: "search_flights", success: true }]
console.log(results.summary);
// "12 flights from SFO to BCN. Cheapest: United $487..."

Batch Tool Execution

Execute multiple tools sequentially in a single request:

const result = await client.browse({
  session_id: page.session_id,
  tools: [
    { tool: 'fill_shipping', params: { name: 'Jane Doe', address: '123 Main' } },
    { tool: 'select_shipping_speed', params: { speed: 'express' } },
    { tool: 'continue_to_payment', params: {} },
  ],
});

Batch Execution Rules

  1. Tools execute sequentially, one at a time
  2. After each tool, WebUplink waits for the page to settle
  3. If a navigation occurs (page changes), execution stops
  4. If a tool fails, execution stops
  5. PageMap perception happens once at the end (not after every tool)

Handling stopped_reason

When batch execution stops early:

if (result.stopped_reason === 'navigation') {
  // Page navigated mid-batch — remaining tools were skipped
  console.log('Completed:', result.results?.length);
  console.log('New page:', result.summary);
}

if (result.stopped_reason === 'timeout') {
  // Operation timed out
}

Partial Success

results always reflects exactly which tools were attempted:

const r = await client.browse({
  session_id,
  tools: [
    { tool: 'add_to_cart', params: {} },
    { tool: 'proceed_to_checkout', params: {} },
    { tool: 'place_order', params: {} },
  ],
});

// If checkout navigated to a new page after step 2:
// r.results.length === 2
// r.stopped_reason === 'navigation'
// r.summary describes the NEW page

Free Plan Restriction

Free plans cannot execute tools. Attempting tool execution returns:

{
  "error": "PLAN_RESTRICTED",
  "message": "Tool execution requires Builder plan or higher."
}

Free plan users can still browse pages and read summaries/tools — they just can't execute them.

On this page