Introductie
In deze tutorial bouw je je eerste custom workflow vanaf nul. Je leert hoe je een workflow definieert, tools aansluit, lokaal test, en uiteindelijk deelt met je team. Dit is een hands-on tutorial – je bouwt een werkende workflow die je daarna kunt aanpassen voor je eigen use cases.
Wat je gaat leren
- Workflow-anatomie: triggers, steps, tools, outputs
- YAML-configuratie en workflow DSL
- Custom tool integratie (API calls, scripts)
- Error handling en retry-logic
- Lokaal testen met mock data
- Deployment en team sharing
Vereisten
- Voltooiing van Aan de slag en Agents begrijpen
- Basiskennis van YAML of JSON
- Een project waar je de workflow wilt toepassen
Het Use Case: Automated PR Review
We bouwen een workflow die automatisch pull requests reviewt. De workflow zal:
- Getriggerd worden wanneer een PR wordt geopend
- De code-diff ophalen via GitHub API
- Een OpenClaw agent vragen om de code te reviewen
- Feedback posten als PR comment
Stap 1: Workflow Skelet Maken
Maak een nieuw bestand workflows/pr-review.yaml in je project:
Voeg de basis workflow-structuur toe:
name: "PR Review Automation"
description: "Automatically review pull requests and post feedback"
version: "1.0.0"
trigger:
type: github.pull_request
events: [opened, synchronize]
steps:
- name: "Fetch PR diff"
tool: github.get_pr_diff
inputs:
pr_number: ${{ trigger.pull_request.number }}
outputs:
diff: pr_diff
- name: "Review code"
tool: openclaw.agent
inputs:
prompt: |
Review this pull request diff:
${{ steps.fetch_pr_diff.outputs.diff }}
Focus on:
- Code quality and style
- Potential bugs
- Performance implications
- Security concerns
model: claude-sonnet-4.5
outputs:
review: agent_response
- name: "Post feedback"
tool: github.create_comment
inputs:
pr_number: ${{ trigger.pull_request.number }}
body: ${{ steps.review_code.outputs.review }}Stap 2: Tool Configuratie
Voor de GitHub-integratie moet je een tool configureren. Maak tools/github.yaml:
tools:
- name: github.get_pr_diff
type: http
config:
method: GET
url: "https://api.github.com/repos/${{ env.GITHUB_REPO }}/pulls/${{ inputs.pr_number }}/files"
headers:
Authorization: "token ${{ env.GITHUB_TOKEN }}"
Accept: "application/vnd.github.v3.diff"
- name: github.create_comment
type: http
config:
method: POST
url: "https://api.github.com/repos/${{ env.GITHUB_REPO }}/issues/${{ inputs.pr_number }}/comments"
headers:
Authorization: "token ${{ env.GITHUB_TOKEN }}"
body:
body: "${{ inputs.body }}"Stap 3: Environment Variabelen
Maak een .env bestand (voeg toe aan .gitignore!):
GITHUB_TOKEN=ghp_your_token_here GITHUB_REPO=username/repository
Beveiliging: Commit nooit tokens in version control. Gebruik environment variabelen of secret management.
Stap 4: Lokaal Testen
Test de workflow lokaal met een mock trigger:
Dit simuleert een PR trigger zonder daadwerkelijk een PR te openen. Je ziet de output van elke stap.
Stap 5: Error Handling Toevoegen
Voeg retry-logic en error handling toe aan kritieke steps:
- name: "Review code"
tool: openclaw.agent
inputs:
prompt: |
Review this pull request...
retry:
max_attempts: 3
backoff: exponential
on_error:
action: notify
channel: slack
message: "PR review failed for PR #${{ trigger.pull_request.number }}"Stap 6: Deployment
Activeer de workflow in je repository:
Stap 7: Team Sharing
Deel de workflow met je team:
- Commit
workflows/entools/naar version control - Documenteer required environment variabelen in README
- Teamleden kunnen de workflow activeren met:
openclaw workflow install workflows/pr-review.yaml
Iteratie & Verbetering
Je kunt de workflow uitbreiden met:
- Conditional logic: Review alleen als diff > 100 regels
- Multi-agent: Gebruik gespecialiseerde agents voor security vs. performance review
- Metrics: Track review quality en agent performance
- Human-in-the-loop: Vraag goedkeuring voor auto-merged PRs
Volgende stap: Bekijk de officiële workflow gallery voor meer voorbeelden en inspiratie voor je eigen workflows.
Veelvoorkomende Problemen
Workflow triggert niet
Controleer webhook configuratie in repository settings. Zorg dat de OpenClaw webhook URL correct is ingesteld.
Agent outputs zijn inconsistent
Gebruik temperature=0 voor deterministische outputs. Voeg few-shot examples toe aan je prompt voor consistentie.
Rate limiting errors
Implementeer exponential backoff in retry-config. Overweeg caching voor frequente API calls.
Conclusie
Je hebt nu een volledig werkende custom workflow gebouwd! Deze technieken kun je toepassen op talloze andere use cases: automated testing, documentation generation, code migration, en meer.
Experimenteer, itereer, en deel je workflows met de community!