First Test
Get your first human QA test running in under 5 minutes. Need an account or API key? See Setup.
Step 1: Run Your First Test
Choose your integration method: REST API | AI Agents | GitHub Actions
REST API
Make an HTTP request to create a test and wait for results:
The request blocks until a human tester completes the test (typically 2-5 minutes).
AI Agents
Copy and paste this prompt into your AI agent (Claude Code, Cursor, Windsurf, Copilot, Cline, etc.):
Help me install the runhuman skill with
npx skills add volter-ai/runhuman-skills -yand run the quick-start workflow.
The agent will install the skill, walk you through authentication, and run your first test — all from the chat.
Claude Code setup guide · MCP for direct server connection
GitHub Actions
Add human QA testing to your CI/CD pipeline:
Test a URL directly:
name: QA Test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: volter-ai/runhuman-action@v1
with:
url: https://staging.myapp.com
description: Verify the homepage loads correctly
api-key: ${{ secrets.RUNHUMAN_API_KEY }}
output-schema: '{"loads":{"type":"boolean","description":"Page loads?"}}'
Auto-test linked issues from PRs:
# .github/workflows/qa.yml
name: QA Test
on:
pull_request:
branches: [main]
jobs:
qa:
runs-on: ubuntu-latest
steps:
- uses: volter-ai/runhuman-action@v1
with:
url: ${{ vars.STAGING_URL }}
pr-numbers: '[${{ github.event.pull_request.number }}]'
api-key: ${{ secrets.RUNHUMAN_API_KEY }}
on-success-add-labels: '["qa:passed"]'
on-failure-add-labels: '["qa:failed"]'
fail-on-failure: true
Read the full GitHub Actions guide
Step 2: Understand the Results
Every test returns:
| Field | Description |
|---|---|
| result.data | Structured data matching your outputSchema |
| result.explanation | GPT-4o’s interpretation of the test |
| testerResponse | Raw feedback from the human tester |
| testerData | Screenshots, video, console logs, network requests |
| costUsd | What the test cost |
Example response:
{
"status": "completed",
"result": {
"success": true,
"explanation": "Page loaded correctly with visible heading",
"data": {
"pageLoads": true,
"headingVisible": true
}
},
"costUsd": 0.18,
"testDurationSeconds": 100
}
Next Steps
| Want to… | Read |
|---|---|
| Integrate with your backend | REST API |
| Use with AI coding agents | Claude Code |
| Connect via MCP directly | MCP |
| Add to CI/CD pipelines | GitHub Actions |
| See practical recipes | Cookbook |
| Look up technical details | Reference |