Odile Gate

All API templates

GitHub template

Ready-made app rules, included on Free and Pro.

Project upstream: https://api.github.com. Suggested limit: 60 calls per minute.

Use a fine-grained GitHub token with only the repositories and permissions you need. Send GitHub’s required User-Agent header on calls.

What the agent may do

What waits for approval

These writes wait with 202 approval_required when called with the app key. Add a separate human approver with gate_add_approver or the dashboard. The person signs in with their approver key, reviews the exact call and approves or rejects it. The agent then resends the identical call with x-odile-action. No run token is needed unless the owner separately requires runs for this app.

What is refused

Calls outside the allowed and approval lists are also refused.

Apply this template

Use an existing project configured with the upstream above and the provider's required credentials. Configure credentials separately; applying a template does not change the project's upstream or secret. Keep the admin key with the owner and give the agent only its returned app key.

The template supplies the rules and suggested per_minute limit. An explicit routes list in the same request replaces the entire template policy, including approval requirements. An explicit per_minute overrides the suggested limit.

MCP call

Call gate_create_app through the Gate MCP server, replacing the project and admin-key placeholders:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "gate_create_app",
    "arguments": {
      "project_id": "<project-id>",
      "admin_key": "<admin-key>",
      "name": "github-agent",
      "template": "github"
    }
  }
}

curl

Set PROJECT to your existing project ID and load ADMIN from your locally stored admin key, then run:

curl -X POST "https://gate.odilelabs.com/api/projects/$PROJECT/apps" \
  -H "Authorization: Bearer $ADMIN" -H "content-type: application/json" \
  -d '{"name":"github-agent","template":"github"}'