Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / Parallel

Parallel

Web research for AI agents: live web search, page extraction and deep research task runs from Parallel.

5 actions API key 4 read1 write Calls api.parallel.ai

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "parallel" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

This toolkit uses a single credential and requests no scopes.

Actions

Start research taskwriteparallel.create_task_runStart an asynchronous Parallel research task from a question or JSON input. Returns a run_id immediately; fetch the answer later with get_task_result. Uses credits.
InputTypeDescription
inputstringRequiredThe question or task, as text
processorstringRequiredProcessor tier, for example base or core (higher tiers research deeper and cost more)
task_specobjectOptionalOptional output spec, for example {"output_schema":"a one-line answer"}
TypeScript
await setu.execute({
  userId: "user_1",
  action: "parallel.create_task_run",
  input: {
    "input": "<input>",
    "processor": "<processor>"
  },
});
Extract page contentreadparallel.extractFetch up to 20 web pages and return their content as markdown excerpts, optionally focused on an objective.
InputTypeDescription
urlsarray of stringRequiredPage URLs to read (up to 20)
objectivestringOptionalWhat to focus the excerpts on
max_chars_totalintegerOptionalUpper bound on characters across all excerpts
TypeScript
await setu.execute({
  userId: "user_1",
  action: "parallel.extract",
  input: {
    "urls": []
  },
});
Get task resultreadparallel.get_task_resultGet the finished output of a Parallel task run, waiting up to the timeout for it to complete. A 408 reply means it is still running: call again.
InputTypeDescription
run_idstringRequiredRun ID returned by create_task_run
timeoutintegerOptionalSeconds to wait for completion (default 600)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "parallel.get_task_result",
  input: {
    "run_id": "<run_id>"
  },
});
Get task run statusreadparallel.get_task_runCheck the status of a Parallel task run (queued, running, completed, failed) without waiting for its result.
InputTypeDescription
run_idstringRequiredRun ID returned by create_task_run
TypeScript
await setu.execute({
  userId: "user_1",
  action: "parallel.get_task_run",
  input: {
    "run_id": "<run_id>"
  },
});