GET/agents/automations

List automations for user

Returns automations whose created_by user is the authenticated caller, across repositories the caller can read. This includes both user-owned and repository-owned automations created by the caller but excludes repository-owned automations created by someone else even if the caller has write access to the repository.

Use the repository-scoped list operation for those automations. The owner_type filter only narrows this creator-scoped collection.

Fine-grained access tokens for "List automations for user"

This endpoint works with the following fine-grained token types:

The fine-grained token must have one of the following permission sets for each repository accessed by this request:

  • "Agent tasks" repository permissions (read)
  • "Contents" repository permissions (read)

The required permission set depends on each repository's Automation permission configuration.

GitHub App installation access tokens are not supported for this endpoint.

3 parameters
pageintegeroptional
The page number of the results to fetch.
Default:1
per_pageintegeroptional
The number of results per page (max 100).
Default:30
owner_typestringoptional
Filter automations by owner type. `user` returns automations owned by their creator, `repository` returns automations owned by the repository. Omit to return both.
Allowed:userrepository

3 status codes
200Automations retrieved successfully
idstringrequired
The unique identifier of the automation.
repositoryobjectrequired
Repository identity for an automation in cross-repository list responses.
namestringrequired
The name of the automation.
enabledbooleanoptional
Whether the automation is currently enabled.
owner_typestringoptional
Who owns the automation. `user` keeps it private to its creator and its runs act as that user. `repository` makes it belong to the repository, visible to anyone with read access to the repository, and its runs act as the Copilot app rather than as a person.
Allowed:userrepository
write_scopestringoptional
Controls which repository resources a run may modify. `trigger` limits writes to the resource that started the run, when one exists, and resources created during the run; `repository` allows writes to any resource in the repository. Supported values: `trigger`, `repository`.
Allowed:triggerrepositoryDefault:trigger
require_actor_write_permissionbooleanoptional
When true, event-triggered runs require the event actor to have repo write permission, even when the org's allow_read_access_triggers policy is enabled. Does not apply to interval-scheduled runs, which always run as the automation owner.
Default:false
modelstringoptional
The model to use for sessions triggered by this automation. Omit to use the platform default.
reasoning_effortstringoptional
The reasoning effort to use for sessions triggered by this automation. Omit or leave empty for no override. Currently supported values: `none`, `low`, `medium`, `high`, `xhigh`, `max`
triggersobjectoptional
Public trigger configuration keyed by stable public trigger identifier. Each trigger has a closed, trigger-specific configuration schema.
created_atstringrequired
When the automation was created.
updated_atstringrequired
When the automation was last updated.
created_byobjectrequired
A GitHub user
400Bad request
messagestringrequired
Summary message (e.g. "Validation Failed", "Not Found")
errorsarray<object>optional
List of validation errors (present only for 422 responses)
documentation_urlstringrequired
URL to relevant API documentation
401Authentication required
messagestringrequired
Summary message (e.g. "Validation Failed", "Not Found")
errorsarray<object>optional
List of validation errors (present only for 422 responses)
documentation_urlstringrequired
URL to relevant API documentation

Error handling

A 400 is returned: Bad request. A 401 is returned: Authentication required.