# Get Research Task Result — Yutori

> Fetch the current status and result of a research task started with Run Research Task. Place a Delay step (15 minutes recommended) before this action to give the task time to complete. Research tasks typically take 5–15 minutes. If the…

- Key: `yutori-get-research-task-result`
- Type: Action (Read-only)
- Version: 0.0.2
- App: Yutori (`yutori`) — https://pipedream.com/apps/yutori.md
- This page (HTML): https://pipedream.com/apps/yutori/actions/get-research-task-result
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/yutori/actions/get-research-task-result/get-research-task-result.mjs

## Description

Fetch the current status and result of a research task started with **Run Research Task**. Place a **Delay** step (15 minutes recommended) before this action to give the task time to complete. Research tasks typically take 5–15 minutes. If the task is still running, the step returns the current status — re-run or increase the delay if needed. [See the documentation](https://docs.yutori.com/reference/research-status)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `taskId` | `string` | Yes | The task ID returned by the Run Research Task step, e.g. {{steps.run_research_task.$return_value.task_id}} |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "yutori",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "yutori-get-research-task-result",
  arguments: {
    taskId: "Task ID",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "yutori-get-research-task-result",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    yutori: { authProvisionId: "apn_xxxxxxx" },
    taskId: "Task ID",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "yutori-get-research-task-result",
    "configured_props": {
      "yutori": { "authProvisionId": "apn_xxxxxxx" },
      "taskId": "Task ID"
    }
  }'
```

---

- App: https://pipedream.com/apps/yutori.md · All apps: https://pipedream.com/apps
