vluzrmos/lumen-slackin
Lumen Slackin is a Lumen package that adds Slack team invitation support to your app, providing routes and configuration for Slackin-style signup so users can request invites to your Slack workspace.
.env.example to .env, run composer install, and serve it directly. Installing it into an existing Laravel/Lumen app requires manual service-provider and config wiring.composer.json (Lumen/PHP constraints), the package config file, .env.example, and the src/ directory for the invite service/controller and any Artisan command.SLACK_TOKEN (legacy xoxp- token with admin/invite permissions), SLACK_TEAM (team subdomain only, e.g. myteam), and optionally a default invite channel.$app->register(Vluzrmos\Slackin\...ServiceProvider::class); in bootstrap/app.php, and copy the package config into config/ manually if vendor:publish is unavailable.email, validates it, resolves the package invite service, and returns JSON or redirects. Map Slack responses (ok, already_invited, invalid_email) to user-friendly messages.invite($email, $channel). Prefer this over calling the HTTP endpoint internally; it keeps CSRF, middleware, and JSON formatting out of the loop.php artisan slack:invite [email protected]). This is useful for support staff and one-off onboarding./api/slack-invite route in your app and keep the package behind it. This isolates future replacement (e.g. moving to a maintained Slack SDK) to one file.users.admin.invite flow and legacy xoxp- tokens. Modern Slack apps require OAuth with users:write/admin scopes, and invite APIs are restricted. Expect not_authed, invalid_auth, missing_scope, or restricted_action errors.--ignore-platform-reqs in a production monolith unless you have tested it.SLACK_TEAM must be the subdomain only (no https:// or .slack.com); the token must be the full legacy token. A wrong team produces confusing team_not_found-style responses.curl using the same token and payload; this quickly separates token/scope problems from package bugs.rate_limited responses with backoff.$app->withFacades() / $app->withEloquent() or wire dependencies explicitly.How can I help you explore Laravel packages today?