PHPackages                             glen/slack-unfurl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. glen/slack-unfurl

ActiveProject[API Development](/categories/api)

glen/slack-unfurl
=================

Extensible Slack App for link unfurling

v0.11.0(4y ago)211.4k6[1 issues](https://github.com/glensc/slack-unfurl/issues)[4 PRs](https://github.com/glensc/slack-unfurl/pulls)5MITPHPPHP ^7.1.3CI failing

Since Feb 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/glensc/slack-unfurl)[ Packagist](https://packagist.org/packages/glen/slack-unfurl)[ RSS](/packages/glen-slack-unfurl/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (6)Versions (19)Used By (5)

Extensible Slack App for link unfurling
=======================================

[](#extensible-slack-app-for-link-unfurling)

*Slack app for [unfurling](https://api.slack.com/docs/message-link-unfurling) issue links*

Slack App
---------

[](#slack-app)

[Create](https://api.slack.com/apps/new) or [Manage](https://api.slack.com/apps) your app.

You need `Verification Token` (`SLACK_VERIFICATION_TOKEN`) for next step.

Under `Features`:

- enable [Events API](http://api.slack.com/events-api) for [`link_shared`](https://api.slack.com/events/link_shared) event with `links:read` scope.
    1. Click `Event Subscriptions` on the left.
    2. Click `Enable Events`.
    3. Click `Add Workspace Event` and add `link_shared`.
    4. Click `Add Domain` and type your domain.
    5. Click `Save Changes`.
- add `links:write` permission scope
    1. Click `OAuth & Permissions` on the left.
    2. Go to `Scopes` section and select `Add link previews to messages` in the list of permissions.
    3. Click `Save Changes`.
- enable `Incoming Webhooks`

Obtain `OAuth Access Token` (`SLACK_API_TOKEN`) under `OAuth & Permissions`

Configuration
-------------

[](#configuration)

```
cp env.example .env

```

Adding providers
----------------

[](#adding-providers)

The app itself handles no links, you need to add some providers:

- [Eventum Provider](https://github.com/eventum/slack-unfurl-eventum)
- [GitLab Provider](https://github.com/glensc/slack-unfurl-gitlab)
- [Jira Provider](https://github.com/glensc/slack-unfurl-jira)
- [Zendesk Provider](https://github.com/rcknr/slack-unfurl-zendesk)
- [Pagerduty Provider](https://github.com/glensc/slack-unfurl-pagerduty)

Troubleshoot
------------

[](#troubleshoot)

If the unfurl is not happening check that the domain is not [blacklisted](https://my.slack.com/admin/attachments).

If you modify app domains, you need to `Install App` (`/install-on-team` as url) again to re-authorize:

- [https://api.slack.com/reference/messaging/link-unfurling#configuring\_domains](https://api.slack.com/reference/messaging/link-unfurling#configuring_domains)

Development
-----------

[](#development)

Install composer deps and start builtin HTTP server:

```
composer install
composer run server

```

To build docker image locally and run it:

```
docker build -t slack-unfurl .
docker run --rm -p 4390:4390 -v $(pwd)/var/log:/app/var/log -v $(pwd)/.env:/app/.env slack-unfurl

```

The service is accessible from  or just

###  Health Score

33

—

LowBetter than 74% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~105 days

Recently: every ~168 days

Total

15

Last Release

1539d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9a706718c13a8fc063e8345357c67190c39e1b02b9d0b6d306806fdb7c49bc17?d=identicon)[glen](/maintainers/glen)

---

Top Contributors

[![glensc](https://avatars.githubusercontent.com/u/199095?v=4)](https://github.com/glensc "glensc (101 commits)")[![Nowaker](https://avatars.githubusercontent.com/u/611746?v=4)](https://github.com/Nowaker "Nowaker (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/glen-slack-unfurl/health.svg)

```
[![Health](https://phpackages.com/badges/glen-slack-unfurl/health.svg)](https://phpackages.com/packages/glen-slack-unfurl)
```

###  Alternatives

[phpdocumentor/phpdocumentor

Documentation Generator for PHP

4.4k3.1M874](/packages/phpdocumentor-phpdocumentor)[team-reflex/discord-php

An unofficial API to interact with the voice and text service Discord.

1.1k379.4k24](/packages/team-reflex-discord-php)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

553.3M7](/packages/checkout-checkout-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[partitech/php-mistral

Connect to Mistral | Anthropic | Xai | Hugging Face | LamaC++ | Vllm | Ollama

2624.1k1](/packages/partitech-php-mistral)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
