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
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.
| Input | Type | Description | |
|---|---|---|---|
input | string | Required | The question or task, as text |
processor | string | Required | Processor tier, for example base or core (higher tiers research deeper and cost more) |
task_spec | object | Optional | Optional output spec, for example {"output_schema":"a one-line answer"} |
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.
| Input | Type | Description | |
|---|---|---|---|
urls | array of string | Required | Page URLs to read (up to 20) |
objective | string | Optional | What to focus the excerpts on |
max_chars_total | integer | Optional | Upper bound on characters across all excerpts |
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.
| Input | Type | Description | |
|---|---|---|---|
run_id | string | Required | Run ID returned by create_task_run |
timeout | integer | Optional | Seconds to wait for completion (default 600) |
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.
| Input | Type | Description | |
|---|---|---|---|
run_id | string | Required | Run ID returned by create_task_run |
await setu.execute({
userId: "user_1",
action: "parallel.get_task_run",
input: {
"run_id": "<run_id>"
},
});Search the webreadparallel.searchSearch the live web and get ranked results with URLs, titles and relevant excerpts. Pass an objective and 2-3 short keyword queries.
| Input | Type | Description | |
|---|---|---|---|
objective | string | Optional | What you are trying to find, in plain language, self-contained |
search_queries | array of string | Required | Keyword queries, 3-6 words each; 2-3 work best |
mode | string | Optional | Speed and depth trade-off (default advanced) |
max_chars_total | integer | Optional | Upper bound on characters across all excerpts |
await setu.execute({
userId: "user_1",
action: "parallel.search",
input: {
"search_queries": []
},
});