{"id":20743967,"url":"https://github.com/nimbusxr/webhook-actions-docs","last_synced_at":"2025-09-27T18:31:44.868Z","repository":{"id":87222481,"uuid":"578052579","full_name":"nimbusxr/webhook-actions-docs","owner":"nimbusxr","description":"Webhooks Actions User Documentation","archived":false,"fork":false,"pushed_at":"2024-05-24T13:20:47.000Z","size":12,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-17T07:15:30.982Z","etag":null,"topics":["actions","webhooks"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nimbusxr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"supported-events.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-14T06:20:33.000Z","updated_at":"2024-05-24T13:20:51.000Z","dependencies_parsed_at":"2024-11-17T07:15:37.569Z","dependency_job_id":"ab6e72ff-2351-4dcc-9aa2-4ea2e197026e","html_url":"https://github.com/nimbusxr/webhook-actions-docs","commit_stats":null,"previous_names":["nimbusxr/webhook-actions-docs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimbusxr%2Fwebhook-actions-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimbusxr%2Fwebhook-actions-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimbusxr%2Fwebhook-actions-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nimbusxr%2Fwebhook-actions-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nimbusxr","download_url":"https://codeload.github.com/nimbusxr/webhook-actions-docs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234452798,"owners_count":18834923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","webhooks"],"created_at":"2024-11-17T07:13:42.190Z","updated_at":"2025-09-27T18:31:44.589Z","avatar_url":"https://github.com/nimbusxr.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Webhook Actions GitHub App\n\nTransforms your organization's webhook events into streamlined repository dispatches. With support for over 250+ events,\ndispatching Actions across repositories has never been easier or more secure. No need to worry about managing Personal\nAccess Tokens, our app ensures secure dispatches every time.\n\nSee it in the [GitHub Marketplace](https://github.com/marketplace/webhook-actions).\n\nAlso, be sure to check out the [Webhook Actions Playground beta](https://nimbusxr.github.io/webhook-actions/). This tool\nwill help you validate your event configurations.\n\n## How it works\n\n```mermaid\nsequenceDiagram\n    Webhook Actions --\u003e\u003e Org Webhooks: subscribe\n    Org Webhooks --\u003e\u003e Webhook Actions: publish\n    Webhook Actions --\u003e\u003e Repo Workflows: repository_dispatch\n```\n\n## Installation\n\nInstall Webhook Actions app and select the repositories which should receive dispatches and any repositories that you\nwant reporting repository events.\n\n## Configuration\n\n### Repository\n\nTo enable event dispatch subscription on a repository you must have a configuration file\nat `.github/webhook-actions/config.json`.\n\n```yaml\n{\n  \"events\": {\n    \"team_created\": {\n      # ...\n    },\n    \"team_deleted\": {\n      # ...\n    }\n  }\n}\n```\n\n### Organization\n\nTo prevent unauthorized access to events across your organization's repositories it is strongly recommended to use this\nconfiguration. You must create a repository named `webhook-actions-config`. Then create a file\nnamed `repositories.json`. In the example that follows, we are adding a repo configuration for the repos\nnamed `super-awesome-app` and `not-so-awesome-app`.\n\n```yaml\n{\n  \"super-awesome-app\": {\n    \"events\": {\n      \"team_created\": {\n        # ...\n      }\n    }\n  },\n  \"not-so-awesome-app\": {\n    \"events\": {\n      \"team_deleted\": {\n        # ...\n      }\n    }\n  }\n}\n```\n\nAn organization config will override all individual repository configs if the json provides an object (even an empty\nobject).\n\n### Filter\n\nFiltering is possible in an event configuration. To view all available notation please\nvisit [sift](https://www.npmjs.com/package/sift). An example below shows a configuration setup to filter, inclusively,\nany teams created prefixed with the word `test`.\n\n```yaml\n{\n  \"events\": {\n    \"team_created\": {\n      \"filter\": {\n        \"team.name\": {\n          \"$regex\": \"^test.*$\"\n        }\n      }\n    }\n  }\n}\n```\n\nThe entire payload can be filtered on minus action and installation, both of which are removed from the forwarded\npayload.\nSee [GitHub Webhook events and Payloads](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads).\n\n### Map\n\nMapping is possible in an event configuration. The example below illustrates how to use dot notation along with [GitHub\nActions expression syntax](https://docs.github.com/en/actions/learn-github-actions/expressions), as the value, to the\nnew map. You can only use **one expression per value**. As with filtering, you may only access the event payload minus\nthe action and installation.\n\n```yaml\n{\n  \"events\": {\n    \"team_created\": {\n      \"map\": {\n        \"name\": \"Team Created\",\n        \"team\": \"${{ team.name }}\",\n        \"parent\": \"${{ team.parent.name }}\"\n      }\n    }\n  }\n}\n\n```\n\n## Usage\n\nThe following example, used in a GitHub Actions workflow, would trigger a workflow every time a new team is created or\ndeleted in your organization.\n\n```yaml\non:\n  repository_dispatch:\n    types:\n      - team_created\n      - team_deleted\n```\n\nSee [Supported Events](supported-events.md).\n\nSee [Examples](./examples).\n\n## Rate Limiting\n\nRate limiting adheres\nto [GitHub Apps Rate Limits](https://docs.github.com/en/developers/apps/building-github-apps/rate-limits-for-github-apps).\n\n## Caching\n\nIn addition to rate limiting, caching is used to minimize requests for installation, account, and Webhook Actions\nconfigs on each repository. The following list is the cache times for each:\n\n- **Installation: 60 minutes**\n- **Account: 15 minutes**\n- **Configurations: 15 minutes**\n\nFuture functionality will include a cache busting mechanism as well as monitoring on changes to configurations. For now,\nexpect to wait for the cache to expire. If you suspect an issue, please use\nthe [issue tracker](https://github.com/nimbusxr/webhook-actions-docs/issues) to report it.\n\n## Limiting Loops and Ignoring Events\n\nAny event fired from a workflow dispatched by Webhook Actions will be ignored. Attempts to circumvent this behavior will\nonly result in reduced quality of service.\n\n## Plans\n\n### Free\n\nLimited to three repositories and one webhook event per repository. A configuration that has multiple `events` listed\nwill default to using the **first event**. Unfortunately we cannot control order of repositories, so you must ensure you\nonly have the application installed to a max of three repositories. You can update this by going to\nyour `Organization Settings -\u003e Third-pary Access: GitHub Apps -\u003e Webhook Actions: Configure -\u003e Only select repositories`\nand ensuring that you again only have a max of three repositories selected.\n\n### Pro (Personal)\n\nA per repository plan for personal repositories coming soon.\n\n### Pro (Organization)\n\nA per repository plan for organization repositories coming soon.\n\n### Enterprise\n\nA flat rate plan for organizations with 20+ repositories coming soon.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimbusxr%2Fwebhook-actions-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnimbusxr%2Fwebhook-actions-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnimbusxr%2Fwebhook-actions-docs/lists"}