What
Add Calendly as a registered service, following the exact pattern already used by github, slack, stripe, and google_workspace.
Why
More service configurations mean more agents can use AgentGate out of the box without writing any Go code — this is a config-only, no-code-required contribution.
Files to touch
configs/services.yaml — the file the Dockerfile and quickstart actually load. Add a calendly: entry.
config/services.yaml — the local, non-Docker dev default. Add the same entry for consistency (see internal/registry/production_config_test.go's TestProductionConfig_LocalDevDefaultMatches, which checks these two files don't drift).
configs/services/calendly.yaml — a new per-service reference file, matching the convention README.md points readers at (see configs/services/google_workspace.yaml for the exact shape to copy).
Suggested shape
Calendly's REST API v2 (https://developer.calendly.com/api-docs) supports OAuth2 and a simple bearer personal access token; a read-only starting point:
calendly:
base_url: https://api.calendly.com
auth:
type: bearer
actions:
list_scheduled_events:
method: GET
path: /scheduled_events
params:
user: string
count: "int?"
Acceptance checks
configs/services.yaml, config/services.yaml, and configs/services/calendly.yaml all parse as valid YAML and match the registry.Config schema in internal/registry/registry.go.
go test ./internal/registry/... passes, including the existing TestProductionConfig_* tests.
- No Go code changes are required for this issue.
Test path (no secrets needed)
go test ./internal/registry/... -run TestProductionConfig -v
This test loads the real config files directly — no live Calendly account, API key, or network access needed.
What
Add Calendly as a registered service, following the exact pattern already used by
github,slack,stripe, andgoogle_workspace.Why
More service configurations mean more agents can use AgentGate out of the box without writing any Go code — this is a config-only, no-code-required contribution.
Files to touch
configs/services.yaml— the file the Dockerfile and quickstart actually load. Add acalendly:entry.config/services.yaml— the local, non-Docker dev default. Add the same entry for consistency (seeinternal/registry/production_config_test.go'sTestProductionConfig_LocalDevDefaultMatches, which checks these two files don't drift).configs/services/calendly.yaml— a new per-service reference file, matching the conventionREADME.mdpoints readers at (seeconfigs/services/google_workspace.yamlfor the exact shape to copy).Suggested shape
Calendly's REST API v2 (https://developer.calendly.com/api-docs) supports OAuth2 and a simple bearer personal access token; a read-only starting point:
Acceptance checks
configs/services.yaml,config/services.yaml, andconfigs/services/calendly.yamlall parse as valid YAML and match theregistry.Configschema ininternal/registry/registry.go.go test ./internal/registry/...passes, including the existingTestProductionConfig_*tests.Test path (no secrets needed)
go test ./internal/registry/... -run TestProductionConfig -vThis test loads the real config files directly — no live Calendly account, API key, or network access needed.