{"id":22138378,"url":"https://github.com/takeruun/hello-app","last_synced_at":"2026-05-04T06:35:11.984Z","repository":{"id":98236890,"uuid":"601488324","full_name":"takeruun/hello-app","owner":"takeruun","description":"slack app ","archived":false,"fork":false,"pushed_at":"2023-02-14T07:07:25.000Z","size":355,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T15:50:44.892Z","etag":null,"topics":["default-app","slack"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/takeruun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-02-14T07:05:29.000Z","updated_at":"2023-02-23T02:43:06.000Z","dependencies_parsed_at":"2023-03-10T22:01:04.200Z","dependency_job_id":null,"html_url":"https://github.com/takeruun/hello-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takeruun%2Fhello-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takeruun%2Fhello-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takeruun%2Fhello-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takeruun%2Fhello-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/takeruun","download_url":"https://codeload.github.com/takeruun/hello-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245251319,"owners_count":20584856,"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":["default-app","slack"],"created_at":"2024-12-01T20:09:48.252Z","updated_at":"2026-05-04T06:35:11.954Z","avatar_url":"https://github.com/takeruun.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deno Hello World Slack App\n\nThis sample app demonstrates how to use a function, workflow, and trigger to\nsend a greeting to channel.\n\n**Guide Outline**:\n\n- [Setup](#setup)\n  - [Install the Slack CLI](#install-the-slack-cli)\n  - [Clone the Template](#clone-the-template)\n- [Create a Link Trigger](#create-a-link-trigger)\n- [Running Your Project Locally](#running-your-project-locally)\n- [Testing](#testing)\n- [Deploying Your App](#deploying-your-app)\n  - [Viewing Activity Logs](#viewing-activity-logs)\n- [Project Structure](#project-structure)\n- [Resources](#resources)\n\n---\n\n## Setup\n\nBefore getting started, make sure you have a development workspace where you\nhave permissions to install apps. If you don’t have one set up, go ahead and\n[create one](https://slack.com/create). Also, please note that the workspace\nrequires any of [the Slack paid plans](https://slack.com/pricing).\n\n### Install the Slack CLI\n\nTo use this sample, you first need to install and configure the Slack CLI.\nStep-by-step instructions can be found in our\n[Quickstart Guide](https://api.slack.com/future/quickstart).\n\n### Clone the Sample\n\nStart by cloning this repository:\n\n```zsh\n# Clone this project onto your machine\n$ slack create my-app -t slack-samples/deno-hello-world\n\n# Change into this project directory\n$ cd my-app\n```\n\n## Create a Link Trigger\n\n[Triggers](https://api.slack.com/future/triggers) are what cause workflows to\nrun. These triggers can be invoked by a user, or automatically as a response to\nan event within Slack.\n\nA [link trigger](https://api.slack.com/future/triggers/link) is a type of\ntrigger that generates a **Shortcut URL** which, when posted in a channel or\nadded as a bookmark, becomes a link. When clicked, the link trigger will run the\nassociated workflow.\n\nLink triggers are _unique to each installed version of your app_. This means\nthat Shortcut URLs will be different across each workspace, as well as between\n[locally run](#running-your-project-locally) and\n[deployed apps](#deploying-your-app). When creating a trigger, you must select\nthe Workspace that you'd like to create the trigger in. Each Workspace has a\ndevelopment version (denoted by `(dev)`), as well as a deployed version.\n\nTo create a link trigger for the workflow in this sample, run the following\ncommand:\n\n```zsh\n$ slack trigger create --trigger-def triggers/greeting_trigger.ts\n```\n\nAfter selecting a Workspace, the output provided will include the link trigger\nShortcut URL. Copy and paste this URL into a channel as a message, or add it as\na bookmark in a channel of the Workspace you selected.\n\n**Note: this link won't run the workflow until the app is either running locally\nor deployed!** Read on to learn how to run your app locally and eventually\ndeploy it to Slack hosting.\n\n## Running Your Project Locally\n\nWhile building your app, you can see your changes propagated to your workspace\nin real-time with `slack run`. In both the CLI and in Slack, you'll know an app\nis the development version if the name has the string `(dev)` appended.\n\n```zsh\n# Run app locally\n$ slack run\n\nConnected, awaiting events\n```\n\nOnce running, click the\n[previously created Shortcut URL](#create-a-link-trigger) associated with the\n`(dev)` version of your app. This should start the included sample workflow.\n\nTo stop running locally, press `\u003cCTRL\u003e + C` to end the process.\n\n## Testing\n\nFor an example of how to test a function, see\n`functions/greeting_function_test.ts`. Test filenames should be suffixed with\n`_test`.\n\nRun all tests with `deno test`:\n\n```zsh\n$ deno test\n```\n\n## Deploying Your App\n\nOnce you're done with development, you can deploy the production version of your\napp to Slack hosting using `slack deploy`:\n\n```zsh\n$ slack deploy\n```\n\nAfter deploying, [create a new link trigger](#create-a-link-trigger) for the\nproduction version of your app (not appended with `(dev)`). Once the trigger is\ninvoked, the workflow should run just as it did in when developing locally.\n\n### Viewing Activity Logs\n\nActivity logs for the production instance of your application can be viewed with\nthe `slack activity` command:\n\n```zsh\n$ slack activity\n```\n\n## Project Structure\n\n### `manifest.ts`\n\nThe [app manifest](https://api.slack.com/future/manifest) contains the app's\nconfiguration. This file defines attributes like app name and description.\n\n### `slack.json`\n\nUsed by the CLI to interact with the project's SDK dependencies. It contains\nscript hooks that are executed by the CLI and implemented by the SDK.\n\n### `/functions`\n\n[Functions](https://api.slack.com/future/functions) are reusable building blocks\nof automation that accept inputs, perform calculations, and provide outputs.\nFunctions can be used independently or as steps in workflows.\n\n### `/workflows`\n\nA [workflow](https://api.slack.com/future/workflows) is a set of steps that are\nexecuted in order. Each step in a workflow is a function.\n\nWorkflows can be configured to run without user input or they can collect input\nby beginning with a [form](https://api.slack.com/future/forms) before continuing\nto the next step.\n\n### `/triggers`\n\n[Triggers](https://api.slack.com/future/triggers) determine when workflows are\nexecuted. A trigger file describes a scenario in which a workflow should be run,\nsuch as a user pressing a button or when a specific event occurs.\n\n## Resources\n\nTo learn more about developing with the CLI, you can visit the following guides:\n\n- [Creating a new app with the CLI](https://api.slack.com/future/create)\n- [Configuring your app](https://api.slack.com/future/manifest)\n- [Developing locally](https://api.slack.com/future/run)\n\nTo view all documentation and guides available, visit the\n[Overview page](https://api.slack.com/future/overview).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakeruun%2Fhello-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakeruun%2Fhello-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakeruun%2Fhello-app/lists"}