For the complete documentation index, see llms.txt. This page is also available as Markdown.

workflowAutomations

Run actions when a build event matches your conditions — post to Slack, Microsoft Teams or Discord when a build completes or is reviewed.

List a project's automation rules

get

List the automation rules of a project, most recent first. Requires administrator access to the project.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
ownerstring · min: 1Required
projectstring · min: 1Required
Query parameters
perPagestringOptional

Number of items per page (max 100)

pagestringOptional

Page number

activestring · enumOptional

Restrict to rules that still fire (true) or to deactivated ones (false). Omit for both.

Possible values:
Responses
200

List of automation rules

application/json
get/projects/{owner}/{project}/automation-rules
GET /v2/projects/{owner}/{project}/automation-rules HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "pageInfo": {
    "total": 1,
    "page": 1,
    "perPage": 1
  },
  "results": [
    {
      "id": "text",
      "name": "text",
      "active": true,
      "events": [
        "build.completed"
      ],
      "conditions": [
        {
          "type": "text",
          "value": "text"
        }
      ],
      "actions": [
        {
          "action": "text",
          "actionPayload": {
            "ANY_ADDITIONAL_PROPERTY": "anything"
          }
        }
      ],
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z"
    }
  ]
}

Create an automation rule

post

Create an automation rule on a project. Requires administrator access to the project. Action targets must belong to the project's account.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
ownerstring · min: 1Required
projectstring · min: 1Required
Body
namestring · min: 3 · max: 100Required
actionsone of[] · min: 1Required

An action to run. Slack channels are addressed by slackId when known, otherwise by name; Teams and Discord by the id of a webhook registered on the project's account.

or
or
Responses
201

The created rule

application/json

A rule that runs actions when a build event matches its conditions.

idstringRequired
namestringRequired
activebooleanRequired

Whether the rule still fires. Deactivated rules keep their run history.

createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
updatedAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
post/projects/{owner}/{project}/automation-rules
POST /v2/projects/{owner}/{project}/automation-rules HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 157

{
  "name": "text",
  "events": [
    "build.completed"
  ],
  "conditions": [
    {
      "type": "text",
      "value": "text"
    }
  ],
  "actions": [
    {
      "type": "text",
      "payload": {
        "slackId": "",
        "name": "text"
      }
    }
  ]
}
{
  "id": "text",
  "name": "text",
  "active": true,
  "events": [
    "build.completed"
  ],
  "conditions": [
    {
      "type": "text",
      "value": "text"
    }
  ],
  "actions": [
    {
      "action": "text",
      "actionPayload": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z"
}

Get an automation rule

get

Retrieve a single automation rule. Requires administrator access to the project.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
ownerstring · min: 1Required
projectstring · min: 1Required
ruleIdstringRequired

Identifier of the automation rule.

Responses
200

The automation rule

application/json

A rule that runs actions when a build event matches its conditions.

idstringRequired
namestringRequired
activebooleanRequired

Whether the rule still fires. Deactivated rules keep their run history.

createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
updatedAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
get/projects/{owner}/{project}/automation-rules/{ruleId}
GET /v2/projects/{owner}/{project}/automation-rules/{ruleId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "name": "text",
  "active": true,
  "events": [
    "build.completed"
  ],
  "conditions": [
    {
      "type": "text",
      "value": "text"
    }
  ],
  "actions": [
    {
      "action": "text",
      "actionPayload": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z"
}

Update an automation rule

put

Replace an automation rule's definition. Requires administrator access to the project. The whole definition is replaced, so send the events, conditions and actions you want the rule to end up with.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
ownerstring · min: 1Required
projectstring · min: 1Required
ruleIdstringRequired

Identifier of the automation rule.

Body
namestring · min: 3 · max: 100Required
actionsone of[] · min: 1Required

An action to run. Slack channels are addressed by slackId when known, otherwise by name; Teams and Discord by the id of a webhook registered on the project's account.

or
or
Responses
200

The updated rule

application/json

A rule that runs actions when a build event matches its conditions.

idstringRequired
namestringRequired
activebooleanRequired

Whether the rule still fires. Deactivated rules keep their run history.

createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
updatedAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
put/projects/{owner}/{project}/automation-rules/{ruleId}
PUT /v2/projects/{owner}/{project}/automation-rules/{ruleId} HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 157

{
  "name": "text",
  "events": [
    "build.completed"
  ],
  "conditions": [
    {
      "type": "text",
      "value": "text"
    }
  ],
  "actions": [
    {
      "type": "text",
      "payload": {
        "slackId": "",
        "name": "text"
      }
    }
  ]
}
{
  "id": "text",
  "name": "text",
  "active": true,
  "events": [
    "build.completed"
  ],
  "conditions": [
    {
      "type": "text",
      "value": "text"
    }
  ],
  "actions": [
    {
      "action": "text",
      "actionPayload": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z"
}

Deactivate an automation rule

post

Stop a rule from firing. Rules are never deleted — a deactivated one keeps its run history, which is what tells you why something fired. Requires administrator access to the project.

Authorizations
AuthorizationstringRequired

Authenticate as a user with a personal access token.

Send it as a bearer token in the Authorization header:

Authorization: Bearer <personal-access-token>

Personal access tokens act on behalf of the user that created them and are required by endpoints that perform user actions, such as reviewing builds and posting comments.

Path parameters
ownerstring · min: 1Required
projectstring · min: 1Required
ruleIdstringRequired

Identifier of the automation rule.

Responses
200

The deactivated rule

application/json

A rule that runs actions when a build event matches its conditions.

idstringRequired
namestringRequired
activebooleanRequired

Whether the rule still fires. Deactivated rules keep their run history.

createdAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
updatedAtstring · date-timeRequiredPattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
post/projects/{owner}/{project}/automation-rules/{ruleId}/deactivate
POST /v2/projects/{owner}/{project}/automation-rules/{ruleId}/deactivate HTTP/1.1
Host: api.argos-ci.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "name": "text",
  "active": true,
  "events": [
    "build.completed"
  ],
  "conditions": [
    {
      "type": "text",
      "value": "text"
    }
  ],
  "actions": [
    {
      "action": "text",
      "actionPayload": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z"
}

Last updated

Was this helpful?