Deploying a Tool
superglue isn’t just where you build tools, it’s where they run. When you execute a tool, superglue handles the infrastructure: making API calls, resolving credentials server-side, managing retries and rate limiting, and logging every step. You don’t need servers, queues, or cron jobs on your side.
Trigger tool runs on-demand, automate them on a schedule, or react to external events via webhooks. All through the same managed runtime.
Execute tools directly from the tool details page:

-
Navigate to your tool
Go to Tools in your dashboard and select the tool you want to run
-
Provide input data
Enter any required input parameters in JSON format. If your tool doesn’t require input, use
{} -
Execute
Click “Run All Steps” to execute immediately. You’ll see real-time logs and step-by-step progress
-
Review results
Check the output data and individual step results. All executions are logged for debugging.
For programmatic execution, use the REST SDK:
npm install @superglue/clientRun a saved tool:
import { configure, runTool, getRun, listRuns } from "@superglue/client";
// Configure the SDKconfigure({ baseUrl: "https://api.superglue.cloud", // or your self-hosted URL apiKey: "your_api_key"});
// Run a tool with input payloadconst { data: run } = await runTool("sync-customers", { inputs: { startDate: "2025-01-01", userId: "user_123" }});
// For synchronous runs, result is available immediatelyif (run.status === "success") { console.log(run.data); // Final output console.log(run.stepResults); // Step-by-step details}Run asynchronously and poll for results:
// Start an async runconst { data: run } = await runTool("sync-customers", { inputs: { startDate: "2025-01-01" }, options: { async: true }});
// Poll for completionlet status = run.status;while (status === "running") { await new Promise(r => setTimeout(r, 1000)); const { data: updated } = await getRun(run.runId); status = updated.status; if (status === "success") { console.log(updated.data); }}List recent runs:
const response = await listRuns({ toolId: "sync-customers", limit: 10});
response.data.data.forEach(run => { console.log(`${run.runId}: ${run.status}`);});Pass credentials at runtime:
const { data: run } = await runTool("sync-customers", { inputs: { userId: "user_123" }, credentials: { stripe_api_key: "sk_live_xxx", hubspot_access_token: "pat-xxx" }});Enterprise deployment options
Section titled “Enterprise deployment options”superglue Enterprise offers additional deployment capabilities for automated and event-driven execution:
Tool chaining
Section titled “Tool chaining”Chain multiple tools together to build multi-step workflows. When one tool completes, it can automatically trigger another tool with its output as input.
// Run a tool that chains to another tool when completeconst { data: run } = await runTool("fetch-orders", { inputs: { since: "2025-01-01" }, options: { async: true, webhookUrl: "tool:process-orders", // Triggers process-orders with fetch-orders output },});The chained tool run will have requestSource: "tool-chain". See the webhooks documentation for more details.