Skip to content
Proud to collaborate with Microsoft for Startups

github.auth.validate_installation ​

Generate a GitHub App installation access token

Authenticate as a GitHub App installation and return a short-lived access token.

Uses the GitHub App's private key to sign a JWT, then exchanges it for an installation access token valid for 1 hour.

Inputs:

  • installation_id: GitHub App installation ID (required). Found in the GitHub App settings or the installation webhook payload.

Outputs (terminal state_data):

  • token: str — installation access token (use as Bearer in subsequent requests)
  • expires_at: str — ISO-8601 expiry timestamp (1 hour from creation)
  • installation_id: str | int — echoed back

Plugin required: context.get_plugin("github") must expose:

  • .app_id — GitHub App ID (integer or string)
  • .private_key_pem — RSA private key in PEM format (str)

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-github
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
installation_idstringYes—GitHub App installation ID

Output Schema ​

FieldTypeRequiredDefaultDescription
expires_atstringNo——
installation_idstringNo——
tokenstringNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "github.auth.validate_installation",
  "initial_data": {
    "installation_id": "value"
  }
}