Action Type Registry
Action types are strings that identify what an agent wants to do. They follow the convention provider.resource.verb and are used by the policy engine to match rules and by the Gateway to route execution to the correct connector.
Naming convention
provider.resource.verb
| Part | Description | Examples |
|---|---|---|
| provider | The external service or system | github, stripe, sendgrid, webhook |
| resource | The entity being acted on | pr, issue, branch, release, file, transfer |
| verb | The operation | create, merge, delete, close, comment, commit |
Examples: github.pr.merge, payment.transfer.initiate, email.send, webhook.post
GitHub connector
The GitHub connector executes actions via the GitHub API using a personal access token (PAT) configured in Settings > Integrations.
| Action type | Description | Required parameters |
|---|---|---|
| github.pr.create | Create a pull request | title, head, base, body (optional) |
| github.pr.merge | Merge a pull request | pr_number, merge_method (optional: merge, squash, rebase) |
| github.pr.comment | Comment on a pull request | pr_number, body |
| github.pr.close | Close a pull request | pr_number |
| github.branch.create | Create a branch | branch_name, from_ref (optional, defaults to default branch) |
| github.branch.delete | Delete a branch | branch_name |
| github.issue.create | Create an issue | title, body (optional), labels (optional) |
| github.issue.comment | Comment on an issue | issue_number, body |
| github.issue.close | Close an issue | issue_number |
| github.release.create | Create a release | tag_name, name (optional), body (optional), draft (optional), prerelease (optional) |
| github.file.commit | Commit a file | path, content, message, branch (optional) |
Resource format
{
"resource": {
"provider": "github",
"account": "my-org",
"target": "my-org/my-repo",
"environment": "production"
}
}The target field must be in owner/repo format. The Gateway extracts the owner and repo from this field.
Webhook connector
The webhook connector sends HTTP requests to any URL. Use it for tools that don't have a dedicated connector.
| Action type | Description | HTTP method |
|---|---|---|
| webhook.post | Send a POST request | POST |
| webhook.get | Send a GET request | GET |
| webhook.put | Send a PUT request | PUT |
| webhook.patch | Send a PATCH request | PATCH |
| webhook.delete | Send a DELETE request | DELETE |
Parameters
| Parameter | Type | Description |
|---|---|---|
| url | string | Required. The target URL |
| headers | object | Optional. HTTP headers to include |
| body | object | Optional. Request body (JSON) |
| query | object | Optional. Query string parameters |
Example
{
"type": "webhook.post",
"resource": {
"provider": "webhook",
"target": "https://api.example.com/v1/action"
},
"parameters": {
"url": "https://api.example.com/v1/action",
"headers": { "X-Custom-Header": "value" },
"body": { "key": "value" }
}
}parameters.headers — configure them as Gateway environment variables instead.Custom action types
For policy-only mode (Mode B) or domains without a built-in connector, define your own action types. The policy engine evaluates any string — it doesn't need to match a Gateway connector.
Recommended conventions
| Domain | Prefix | Examples |
|---|---|---|
| Source control | github.*, gitlab.* | github.pr.merge, gitlab.mr.approve |
| Payments | payment.* | payment.transfer.initiate, payment.refund.create |
| Email | email.* | email.send, email.template.update |
| Infrastructure | infra.* | infra.server.provision, infra.dns.update |
| Database | db.* | db.query.execute, db.table.drop |
| Agent orchestration | agent.* | agent.spawn, agent.delegate |
| Access management | access.* | access.user.create, access.role.assign |
Example: custom payment action
{
"type": "payment.transfer.initiate",
"resource": {
"provider": "stripe",
"account": "acct_main",
"target": "transfers",
"environment": "production"
},
"parameters": {
"amount": 25000,
"currency": "usd",
"destination": "acct_vendor_123"
},
"risk_hints": {
"financial_impact": true,
"irreversible": true
}
}This action type won't execute via the Gateway (no Stripe connector yet), but the policy engine will evaluate it against your policies. Your agent handles execution in Mode B.
Next steps
- Writing Policies — write rules that match these action types
- Integration Guide — connect your agent to TameFlare
- API Reference — full endpoint documentation