Skip to content

GitHub: List automations for user

GitHub agentAutomations.agentAutomationsListAutomations: arguments, response, policy and SDK examples.

← Agent automations operations · Get started

Operation github.agent_automations_list_automations

Provider route: GET /agents/automations. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/github with npm, or alter-sdk-github with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { GitHubIntegration } from "@alter-ai/github";
async function execute(input: Parameters<GitHubIntegration["agentAutomations"]["agentAutomationsListAutomations"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new GitHubIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.agentAutomations.agentAutomationsListAutomations(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_github import GitHubIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = GitHubIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.agent_automations.agent_automations_list_automations(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
queryobjectOptionalAdditional keys: not allowed
query.pageintegerOptionalDefault: 1
Minimum: 1
query.per_pageintegerOptionalDefault: 30
Maximum: 100
Minimum: 1
query.typestringOptionalOne of: personal, shared

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$arrayRoot
$[]objectEach itemA summary representation of an automation including repository identity (used in cross-repository list responses).
$[].created_atstringRequired within parentWhen the automation was created.
Format: date-time
$[].created_byobjectRequired within parentA GitHub user
$[].created_by.idJSONOptional
$[].created_by.id (anyOf 1)integerAlternativeThe unique identifier of the user
Format: int64
$[].created_by.id (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
$[].enabledbooleanOptionalWhether the automation is currently enabled.
$[].idstringRequired within parentThe unique identifier of the automation.
$[].modelstringOptionalThe model override for sessions triggered by this automation. Absent when the platform selects the model.
$[].namestringRequired within parentThe name of the automation.
$[].reasoning_effortstringOptionalThe reasoning effort override for sessions triggered by this automation. Absent when the model’s default is used.
$[].repositoryobjectRequired within parentRepository identity for an automation in cross-repository list responses.
$[].repository.idJSONRequired within parent
$[].repository.id (anyOf 1)integerAlternativeThe unique identifier of the repository.
Format: int64
$[].repository.id (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
$[].repository.namestringRequired within parentThe repository name.
$[].repository.ownerstringRequired within parentThe repository owner login.
$[].require_actor_write_permissionbooleanOptionalWhen 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
$[].triggersModelOptionalExpand Get an automation — response body — triggers
$[].typestringOptionalThe type of automation. `personal` keeps it private to its creator and its runs act as that user. `shared` 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.
Known values: personal, shared
Read only: true
$[].updated_atstringRequired within parentWhen the automation was last updated.
Format: date-time

Referenced models: Get an automation — response body — triggers

14 more schemas are linked from the tables above, on the schema pages.

Get an automation — response body — triggers
FieldTypePresenceDescription and constraints
$objectRootTrigger configuration for the automation.
Additional keys: not allowed
automation_completedModelOptionalExpand Get an automation — response body — triggers automation completed
automation_failedModelOptionalExpand Get an automation — response body — triggers automation failed
code_scanning_alertModelOptionalExpand Get an automation — response body — triggers dependabot alert
dependabot_alertModelOptionalExpand Get an automation — response body — triggers dependabot alert
discussion_commentModelOptionalExpand Get an automation — response body — triggers discussion comment
discussion_openedModelOptionalExpand Get an automation — response body — triggers discussion opened
discussion_updatedModelOptionalExpand Get an automation — response body — triggers discussion opened
intervalModelOptionalExpand Get an automation — response body — triggers interval
issue_assignedModelOptionalExpand Get an automation — response body — triggers issue assigned
issue_closedModelOptionalExpand Get an automation — response body — triggers issue closed
issue_commentModelOptionalExpand Get an automation — response body — triggers issue comment
issue_labeledModelOptionalExpand Get an automation — response body — triggers issue labeled
issue_openedModelOptionalExpand Get an automation — response body — triggers issue closed
issue_reopenedModelOptionalExpand Get an automation — response body — triggers issue closed
pull_request_assignedModelOptionalExpand Get an automation — response body — triggers pull request assigned
pull_request_closedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_commentModelOptionalExpand Get an automation — response body — triggers pull request comment
pull_request_converted_to_draftModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_labeledModelOptionalExpand Get an automation — response body — triggers pull request labeled
pull_request_merge_conflictModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_mergedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_openedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_ready_for_reviewModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_reopenedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_review_dismissedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_review_requestedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_review_submittedModelOptionalExpand Get an automation — response body — triggers pull request review submitted
pull_request_review_thread_resolvedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_review_thread_unresolvedModelOptionalExpand Get an automation — response body — triggers pull request closed
pull_request_synchronizeModelOptionalExpand Get an automation — response body — triggers pull request closed
secret_scanning_alertModelOptionalExpand Get an automation — response body — triggers dependabot alert
sub_issue_addedModelOptionalExpand Get an automation — response body — triggers issue closed
workflow_runModelOptionalExpand Get an automation — response body — triggers workflow run

Referenced models: Get an automation — response body — triggers automation completed, Get an automation — response body — triggers automation failed, Get an automation — response body — triggers dependabot alert, Get an automation — response body — triggers discussion comment, Get an automation — response body — triggers discussion opened, Get an automation — response body — triggers interval, Get an automation — response body — triggers issue assigned, Get an automation — response body — triggers issue closed, Get an automation — response body — triggers issue comment, Get an automation — response body — triggers issue labeled, Get an automation — response body — triggers pull request assigned, Get an automation — response body — triggers pull request closed, Get an automation — response body — triggers pull request comment, Get an automation — response body — triggers pull request labeled, Get an automation — response body — triggers pull request review submitted, Get an automation — response body — triggers workflow run

Get an automation — response body — triggers automation completed
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
allow_copilot_triggersbooleanOptionalWhen true, events Copilot creates, including from other automations and Copilot sessions, can start this automation through this trigger. Defaults to false. The Copilot coding agent app cannot turn it on: creating a trigger with true, or changing it from false to true, returns 422.
automation_idsarrayRequired within parentUpstream Automation IDs in the same repository.
Maximum items: 3
Minimum items: 1
Unique items: true
automation_ids[]stringEach item
write_scopestringOptionalOverride the Automation `write_scope` for runs started by this trigger. If omitted, the automation's `write_scope` is used. Organization or repository policy may restrict the effective scope to `trigger`. Explicitly setting `repository` on create or edit returns 422 when policy validation is enabled and that policy applies.
Known values: trigger, repository
Get an automation — response body — triggers automation failed
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
allow_copilot_triggersbooleanOptionalWhen true, events Copilot creates, including from other automations and Copilot sessions, can start this automation through this trigger. Defaults to false. The Copilot coding agent app cannot turn it on: creating a trigger with true, or changing it from false to true, returns 422.
automation_idsarrayRequired within parentUpstream Automation IDs in the same repository. An Automation cannot list itself, and a user-owned Automation can only be listed by its creator's user-owned Automations.
Maximum items: 3
Minimum items: 1
Unique items: true
automation_ids[]stringEach item
reasonsarrayOptionalFailure reasons to match. Omit to match only reported failures.
Maximum items: 3
Minimum items: 1
Unique items: true
reasons[]stringEach itemKnown values: reported, crashed, timed_out
write_scopestringOptionalOverride the Automation `write_scope` for runs started by this trigger. If omitted, the automation's `write_scope` is used. Organization or repository policy may restrict the effective scope to `trigger`. Explicitly setting `repository` on create or edit returns 422 when policy validation is enabled and that policy applies.
Known values: trigger, repository

SDK function policy ID: github.agent_automations_list_automations. Catalog operation: agent-automations/list-automations. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"X-GitHub-Api-Version": "2026-03-10", "User-Agent": "Alter", "Accept": "application/vnd.github+json"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.