{"id":37563552,"url":"https://github.com/tagshelfsrl/alfred-webhook-demo-node","last_synced_at":"2026-01-16T09:11:35.364Z","repository":{"id":237380109,"uuid":"790774014","full_name":"tagshelfsrl/alfred-webhook-demo-node","owner":"tagshelfsrl","description":"A sample Alfred webhook server using Node.js.","archived":false,"fork":false,"pushed_at":"2024-04-23T19:15:34.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T06:30:58.190Z","etag":null,"topics":["expressjs","nodejs","webhook-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/tagshelfsrl.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":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-23T13:58:51.000Z","updated_at":"2024-05-01T06:31:01.673Z","dependencies_parsed_at":"2024-05-01T06:41:17.521Z","dependency_job_id":null,"html_url":"https://github.com/tagshelfsrl/alfred-webhook-demo-node","commit_stats":null,"previous_names":["tagshelfsrl/alfred-webhook-demo-node"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tagshelfsrl/alfred-webhook-demo-node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagshelfsrl%2Falfred-webhook-demo-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagshelfsrl%2Falfred-webhook-demo-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagshelfsrl%2Falfred-webhook-demo-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagshelfsrl%2Falfred-webhook-demo-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tagshelfsrl","download_url":"https://codeload.github.com/tagshelfsrl/alfred-webhook-demo-node/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tagshelfsrl%2Falfred-webhook-demo-node/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["expressjs","nodejs","webhook-server"],"created_at":"2026-01-16T09:11:33.368Z","updated_at":"2026-01-16T09:11:35.351Z","avatar_url":"https://github.com/tagshelfsrl.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alfred Webhook Sample (Node.js)\n\nWelcome to the official repository for the Alfred Webhook Server sample code! This project is designed to help developers integrate with Alfred, our innovative product that utilizes webhooks to emit real-time events. This sample code base will provide you with a solid foundation for developing a custom webhook server.\n\n## Installation\n\nClone this repository on your local machine:\n\n```bash\n$ git clone git@github.com:tagshelfsrl/alfred-webhook-demo-node.git\n```\n\nYou will need:\n\n- Node 16.x or higher (Node 18 recommended)\n- A remote server or a local tunneling service such as [ngrok](https://ngrok.com/).\n\nOnce you are inside the repository folder in your local machine, follow these steps:\n\n### 1. Install dependencies\n\nInstall the project dependencies using `npm`:\n\n```bash\n$ npm install\n```\n\nAlternatively, you can use `yarn`:\n\n```bash\n$ yarn install\n```\n\n### 2. Run your app locally\n\n```bash\n$ npm run start\n```\n\nYou server is now available at `http://localhost:3000`. There are two paths configured:\n\n- `GET /ping` which serves as a health check endpoint. It should return an `ok` message.\n- `POST /webhook` which is the webhook handler endpoint. This is the one that you should provide to Alfred when setting up your webhook URL.\n\n### 3. Setup local tunneling (optional)\n\nIf you want to test your server locally, you will need to expose it to the Internet using a local tunneling service like ngrok.\n\nIf not already installed, install ngrok via [download](https://ngrok.com/download) page.\n\nOnce the installed, open a new terminal tab or window and run the following command:\n\n```bash\n$ ngrok http 3000\n```\n\nThis will create a tunnel to your local server running in the specified port (3000 in this case).\n\nThe screen should show the following:\n\n```\nSession Status                online\nAccount                       Redacted (Plan: Free)\nUpdate                        update available (version 3.8.0, Ctrl-U to update)\nVersion                       3.3.5\nRegion                        United States (us)\nLatency                       -\nWeb Interface                 http://127.0.0.1:4040\nForwarding                    https://b4fb3f8b38f8.ngrok.app -\u003e http://localhost:3000\n\nConnections                   ttl     opn     rt1     rt5     p50     p90\n                              0       0       0.00    0.00    0.00    0.00\n```\n\nNote the HTTPS URL of the external server that is forwarded to your local machine. In the above example, it is `https://b4fb3f8b38f8.ngrok.app`, therefore the webhook URL that you would register should be `https://b4fb3f8b38f8.ngrok.app/webhook`.\n\n## Setting up the webhook URL\n\nIn order to setup the webhook URL you must have access to the Alfred API. Take a look at the [official documentation](https://docs.tagshelf.dev/authentication) to see more information about authentication.\n\nOnce you have access, you simply have to call the `POST /api/account/webhook` endpoint of the Alfred API. You can see more details about this endpoint [here](https://docs.tagshelf.dev/enpoints/account#set-a-webhook-for-a-given-account).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftagshelfsrl%2Falfred-webhook-demo-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftagshelfsrl%2Falfred-webhook-demo-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftagshelfsrl%2Falfred-webhook-demo-node/lists"}