---
title: Event subscriptions
description: Subscribe to Artifacts events for repo lifecycle changes.
image: https://developers.cloudflare.com/dev-products-preview.png
---

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/artifacts/llms.txt  
> Use this file to discover all available pages before exploring further. 

[Skip to content](#%5Ftop) 

# Event subscriptions

Artifacts emits structured events for repository lifecycle changes — creates, deletes, forks, imports, pushes, clones, fetches, and token changes. By subscribing to these events through [event subscriptions](https://developers.cloudflare.com/queues/event-subscriptions/), you can consume them from a Worker to build commit-driven automation.

For example:

* Run custom workflows when a repository is created or imported
* Kick off a build and deploy a change when an agent pushes to a repo
* Trigger a review agent on every push

## Available Artifacts events

**Account-level events** — Subscribe to the `artifacts` source to receive events for any repository in your account.

#### `repo.created`

Triggered when a repository is created.

**Example:**

```
{  "type": "cf.artifacts.repo.created",  "source": {    "type": "artifacts",    "namespace": "my-namespace",    "repoName": "my-repo"  },  "payload": {    "repoId": "0tvugavnogssnwzk",    "defaultBranch": "main",    "description": "My Artifacts repository",    "readOnly": false,    "createdAt": "2026-05-18T15:53:46.833Z",    "updatedAt": "2026-05-18T15:53:46.833Z",    "lastPushAt": null  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "1830c4bb612e43c3af7f4cada31fbf3f",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-18T15:53:48.187Z"  }}
```

#### `repo.deleted`

Triggered when a repository is deleted.

**Example:**

```
{  "type": "cf.artifacts.repo.deleted",  "source": {    "type": "artifacts",    "namespace": "my-namespace",    "repoName": "my-repo"  },  "payload": {    "repoId": "0tvugavnogssnwzk",    "defaultBranch": "main",    "description": "My Artifacts repository",    "readOnly": false,    "createdAt": "2026-05-18T15:53:46.833Z",    "updatedAt": "2026-05-18T15:53:46.833Z",    "lastPushAt": null  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "1830c4bb612e43c3af7f4cada31fbf3f",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-18T15:53:59.914Z"  }}
```

#### `repo.forked`

Triggered when a repository is forked.

**Example:**

```
{  "type": "cf.artifacts.repo.forked",  "source": {    "type": "artifacts",    "namespace": "source-namespace",    "repoName": "source-repo"  },  "payload": {    "namespace": "target-namespace",    "repoName": "target-repo",    "repoId": "5ankv1vhl4xnw7wq",    "defaultBranch": "main",    "description": "Fork of source-repo",    "readOnly": false,    "createdAt": "2026-05-18T15:53:52.384Z",    "updatedAt": "2026-05-18T15:53:54.579Z",    "lastPushAt": null  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "1830c4bb612e43c3af7f4cada31fbf3f",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-18T15:53:54.641Z"  }}
```

#### `repo.imported`

Triggered when a repository is imported from an external Git remote.

**Example:**

```
{  "type": "cf.artifacts.repo.imported",  "source": {    "type": "artifacts",    "namespace": "my-namespace",    "repoName": "my-repo"  },  "payload": {    "repoId": "d7nd72k964cv9kub",    "defaultBranch": "main",    "description": null,    "readOnly": false,    "createdAt": "2026-05-18T15:53:54.864Z",    "updatedAt": "2026-05-18T15:53:57.737Z",    "lastPushAt": null,    "sourceUrl": "https://github.com/example/repo.git",    "branch": "main"  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "1830c4bb612e43c3af7f4cada31fbf3f",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-18T15:53:58.195Z"  }}
```

**Repository-level events** — Subscribe to the `artifacts.repo` source with a `namespace` and `repo_name` to receive events scoped to a single repository.

#### `pushed`

Triggered when commits are pushed to a repository.

**Example:**

```
{  "type": "cf.artifacts.repo.pushed",  "source": {    "type": "artifacts.repo",    "namespace": "my-namespace",    "repoName": "my-repo"  },  "payload": {    "ref": "refs/heads/main",    "before": "abc123def456abc123def456abc123def456abc1",    "after": "def789ghi012def789ghi012def789ghi012def7",    "commits": [      {        "id": "def789ghi012def789ghi012def789ghi012def7",        "message": "Fix bug in authentication",        "messageTruncated": false,        "timestamp": "2025-05-01T02:48:57.000Z",        "author": {          "name": "Developer Name",          "email": "developer@example.com"        },        "committer": {          "name": "Developer Name",          "email": "developer@example.com"        },        "parents": [          "abc123def456abc123def456abc123def456abc1"        ]      }    ],    "totalCommitsCount": 1,    "commitsTruncated": false  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "1830c4bb612e43c3af7f4cada31fbf3f",    "eventSchemaVersion": 1,    "eventTimestamp": "2025-05-01T02:48:57.132Z"  }}
```

#### `cloned`

Triggered when a repository is cloned.

**Example:**

```
{  "type": "cf.artifacts.repo.cloned",  "source": {    "type": "artifacts.repo",    "namespace": "my-namespace",    "repoName": "my-repo"  },  "payload": {},  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "0ab4c7b45a39491ba5da2973f3d093a6",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-18T15:53:51.358Z"  }}
```

#### `fetched`

Triggered when updates are fetched from a repository.

**Example:**

```
{  "type": "cf.artifacts.repo.fetched",  "source": {    "type": "artifacts.repo",    "namespace": "my-namespace",    "repoName": "my-repo"  },  "payload": {},  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "0ab4c7b45a39491ba5da2973f3d093a6",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-18T15:53:51.358Z"  }}
```

#### `token.created`

Triggered when a repo-scoped token is created. Includes the token ID, scope, and expiration time.

**Example:**

```
{  "type": "cf.artifacts.repo.token.created",  "source": {    "type": "artifacts.repo",    "namespace": "default",    "repoName": "token-evt-repo"  },  "payload": {    "tokenId": "7ngdf3ww3u84t33x",    "scope": "read",    "expiresAt": "2026-05-20T16:58:14.548Z"  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "0ab4c7b45a39491ba5da2973f3d093a6",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-20T16:58:14.548Z"  }}
```

#### `token.revoked`

Triggered when a repo-scoped token is revoked. Includes the token ID.

**Example:**

```
{  "type": "cf.artifacts.repo.token.revoked",  "source": {    "type": "artifacts.repo",    "namespace": "default",    "repoName": "token-evt-repo"  },  "payload": {    "tokenId": "7ngdf3ww3u84t33x"  },  "metadata": {    "accountId": "f9f79265f388666de8122cfb508d7776",    "eventSubscriptionId": "0ab4c7b45a39491ba5da2973f3d093a6",    "eventSchemaVersion": 1,    "eventTimestamp": "2026-05-20T16:58:14.548Z"  }}
```

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/artifacts/guides/event-subscriptions/#page","headline":"Event subscriptions · Cloudflare Artifacts docs","description":"Subscribe to Artifacts events for repo lifecycle changes.","url":"https://developers.cloudflare.com/artifacts/guides/event-subscriptions/","inLanguage":"en","image":"https://developers.cloudflare.com/dev-products-preview.png","dateModified":"2026-05-21","publisher":{"@type":"Organization","name":"Cloudflare","url":"https://www.cloudflare.com/"},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"/directory/","name":"Directory"}},{"@type":"ListItem","position":2,"item":{"@id":"/artifacts/","name":"Artifacts"}},{"@type":"ListItem","position":3,"item":{"@id":"/artifacts/guides/","name":"Guides"}},{"@type":"ListItem","position":4,"item":{"@id":"/artifacts/guides/event-subscriptions/","name":"Event subscriptions"}}]}
```
