> ## Documentation Index
> Fetch the complete documentation index at: https://docs.testdino.com/llms.txt
> Use this file to discover all available pages before exploring further.

# n8n Integration

> Connect TestDino to n8n with the community node to trigger workflows on test runs and query Playwright data without code.

export const VideoSchema = ({name, description, thumbnailUrl, uploadDate, duration, contentUrl, embedUrl}) => {
  const schema = {
    "@context": "https://schema.org",
    "@type": "VideoObject",
    name,
    description,
    thumbnailUrl,
    uploadDate,
    ...duration ? {
      duration
    } : {},
    ...contentUrl ? {
      contentUrl
    } : {},
    ...embedUrl ? {
      embedUrl
    } : {},
    publisher: {
      "@type": "Organization",
      name: "TestDino",
      logo: {
        "@type": "ImageObject",
        url: "https://docs.testdino.com/logo/light.svg"
      }
    }
  };
  return <script type="application/ld+json" dangerouslySetInnerHTML={{
    __html: JSON.stringify(schema)
  }} />;
};

<VideoSchema name="TestDino n8n integration setup" description="Install the TestDino n8n node, connect a project with a Personal Access Token, and trigger workflows on test runs." thumbnailUrl="https://i.ytimg.com/vi/V9bsciTCvy0/maxresdefault.jpg" uploadDate="2026-06-15T00:00:00+00:00" contentUrl="https://www.youtube.com/watch?v=V9bsciTCvy0" embedUrl="https://www.youtube.com/embed/V9bsciTCvy0" />

The [`@testdino/n8n-nodes-testdino`](https://www.npmjs.com/package/@testdino/n8n-nodes-testdino) community node connects TestDino to n8n. Trigger workflows when a test run starts or finishes, query test runs, test cases, specs, analytics, and usage, and generate PDF reports. The nodes also run as AI-agent tools inside n8n's AI Agent node.

<Note>
  n8n is a third party platform maintained by [n8n.io](https://n8n.io). This guide covers only the TestDino node and setup.
</Note>

<iframe className="w-full rounded-lg h-[500px]" src="https://www.youtube.com/embed/V9bsciTCvy0" title="TestDino n8n integration demo" frameBorder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; embedding" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen />

## Quick Reference

| Section                                       | What it covers                           |
| :-------------------------------------------- | :--------------------------------------- |
| [Prerequisites](#prerequisites)               | TestDino project, running n8n, a PAT     |
| [Install the node](#install-the-node)         | Add the community node from the n8n UI   |
| [Connect your project](#connect-your-project) | Create the TestDino API credential       |
| [Trigger on test runs](#trigger-on-test-runs) | Fire workflows when runs start or finish |
| [Query TestDino data](#query-testdino-data)   | Read runs, cases, analytics, and reports |
| [Troubleshooting](#troubleshooting)           | Common failures and fixes                |

## Prerequisites

* **TestDino project.** Sign up at [app.testdino.com](https://app.testdino.com).
* **n8n** running with community nodes enabled, on Node.js 18 or later.
* **Personal Access Token** with the `td_pat_` prefix, granted access to the project you want to automate. The n8n node uses the same PAT as the MCP server.

## Install the node

TestDino is a verified node, so you install it from the editor without leaving the canvas. The marketplace lists it as two entries, [TestDino](https://n8n.io/integrations/testdino/) and [TestDino Trigger](https://n8n.io/integrations/testdino-trigger/), but both ship in one package.

<Steps>
  <Step title="Open the Nodes panel">
    In the n8n editor, click **+** in the top right to open the Nodes panel.
  </Step>

  <Step title="Find the verified node">
    Search for **TestDino** and look for the result with the verified badge. Click **Install node**.
  </Step>

  <Step title="Use it in a workflow">
    Drag the **TestDino** or **TestDino Trigger** node onto the canvas and connect it like any other node.
  </Step>
</Steps>

<Note>
  On a shared instance, an owner installs the verified node once. After that, everyone on the instance can use it. The install adds both nodes from one package.
</Note>

## Connect your project

The credential holds one field, your Personal Access Token. The PAT can reach any project you have access to.

<Steps>
  <Step title="Create a Personal Access Token">
    In TestDino, open **User Settings → Personal Access Tokens**, generate a token with access to the project you want to automate, and copy the `td_pat_...` value. It is shown once.
  </Step>

  <Step title="Add the TestDino API credential">
    In n8n, go to **Credentials → New → TestDino API**, paste the token, then click **Save** and **Test**. The test confirms the token and its scope.
  </Step>
</Steps>

<Warning>
  Store the token in a password manager, never commit it to Git, and revoke tokens you no longer use.
</Warning>

## Trigger on test runs

The **TestDino Trigger** node starts a workflow on run events. It self-registers a webhook with TestDino when the workflow is activated.

| Event           | Fires when                |
| :-------------- | :------------------------ |
| On run started  | A new test run is created |
| On run finished | A test run completes      |

For **On run finished**, set **Trigger On** to scope the event:

| Trigger On    | Behavior                   |
| :------------ | :------------------------- |
| Any Outcome   | Every finished run         |
| Failures Only | Only runs with failures    |
| Passing Only  | Only runs with no failures |

The filter is applied server-side, so failure-only alerts need no extra IF node. The n8n instance must expose a publicly reachable production webhook URL for events to arrive.

## Query TestDino data

The **TestDino** node reads project data and generates reports. Each row below is one action in the node panel, grouped by resource:

| Resource    | Actions in the node panel                                                  |
| :---------- | :------------------------------------------------------------------------- |
| Test Run    | Get a test run, Get many test runs                                         |
| Test Case   | Get a test case, Explore aggregated test cases, Get test case history      |
| Spec        | Get many specs                                                             |
| Manual Test | Get a manual test case, Get many manual test cases, Get manual test suites |
| Dashboard   | Get the project dashboard                                                  |
| Filter      | Get available filters                                                      |
| Analytics   | Get analytics summary                                                      |
| Usage       | Get usage                                                                  |
| Report      | Generate a PDF report                                                      |

List actions support **Return All** to walk every page, or a **Limit** for a single page. Generate a PDF report returns a binary file you can attach in a later node. Get available filters returns the environments, branches, developers, and tags in a project, so you can populate later nodes with valid filter values.

Both nodes set `usableAsTool: true`, so n8n's AI Agent node can call them as tools. An agent can fetch failed runs, summarize release health, or generate a report on request.

**Example workflow:**

```text theme={null}
TestDino Trigger (On run finished, Failures only) → TestDino (Get a test run) → Slack
```

## Troubleshooting

<AccordionGroup>
  <Accordion title="Credential test fails" icon="key">
    Confirm the token starts with `td_pat_`, was copied in full, covers the project you are querying, and is not revoked.
  </Accordion>

  <Accordion title="Trigger never fires" icon="bell-slash">
    The workflow must be **active** and the n8n production webhook URL must be publicly reachable. Check that no firewall blocks TestDino, the token is valid, and the outcome filter is not excluding the run.
  </Accordion>

  <Accordion title="Node missing in n8n" icon="circle-question">
    Confirm the package is installed, community nodes are enabled, n8n was restarted, and the package name is exact (`@testdino/n8n-nodes-testdino`).
  </Accordion>

  <Accordion title="Return All is slow" icon="hourglass">
    Large projects hold many runs and cases. Disable Return All and use filters or a Limit instead.
  </Accordion>
</AccordionGroup>

<CardGroup cols={2}>
  <Card title="OpenClaw Integration" icon="https://mintcdn.com/testdino/dZnyMleO7tsw2nKM/images/openclaw.svg?fit=max&auto=format&n=dZnyMleO7tsw2nKM&q=85&s=50633fb37ad8a16b8ee15dbb8af4369d" href="/integrations/communication/openclaw" width="120" height="120" data-path="images/openclaw.svg">
    Ask TestDino about Playwright failures from your team chat
  </Card>

  <Card title="TestDino MCP overview" icon="book" href="/mcp/overview">
    What the MCP server does and which tools it exposes
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Endpoints the n8n node calls under the hood
  </Card>
</CardGroup>
