Search by

deskcrew / laravel

Live chat, AI support chatbot and helpdesk ticketing for Laravel: the DeskCrew widget as a Blade directive, plus a client that turns contact forms into tickets. Free plan.

v1.0.0 2026-09-04 12:04 UTC

This package is auto-updated.

Last update: 2026-09-04 12:33:44 UTC


README

DeskCrew widget for Laravel

Live chat, an AI support chatbot and helpdesk ticketing for Laravel, in one package. deskcrew/laravel adds the DeskCrew support widget to a Laravel app: visitors chat with an AI that answers from your knowledge base, anything it cannot answer becomes a ticket, and a human approves every reply before it sends. One @deskcrew Blade directive in your layout, plus a facade so a contact form, a controller or a queued job can open a ticket from PHP.

Works with Laravel 10, 11 and 12, Livewire, Inertia (Vue and React), Filament, Jetstream and Breeze. Nothing to add to Vite or Mix. Free plan, no credit card: https://deskcrew.io/signup

Use it for

  • Live chat on a Laravel app without writing JavaScript: one Blade directive in app.blade.php.
  • An AI chatbot for customer support that only answers from your own help articles and hands off to a person when unsure.
  • Contact form to support ticket: pass the validated request to Deskcrew::createTicket and the message lands in your inbox as a ticket, no mail driver needed.
  • A help center and knowledge base for a SaaS, an e-commerce store, a Filament admin or an internal tool.
  • Replacing a paid chat widget (Intercom, Crisp, Tawk.to, Zendesk, Freshdesk, HelpScout) with one that starts free and never sends a reply you did not approve.

Install

composer require deskcrew/laravel
DESKCREW_WIDGET_KEY=pub_your_widget_key   # from Dashboard → Install
DESKCREW_BOARD=your-board                 # optional
DESKCREW_SITE_URL=https://www.example.com # defaults to APP_URL

Optional: php artisan vendor:publish --tag=deskcrew-config to edit colour, position and greeting in config/deskcrew.php.

Show the widget

In your layout, just before </body>:

@deskcrew

Allow your domain

Once per environment:

php artisan deskcrew:register-origin

Create tickets from your code

use Deskcrew\Laravel\Facades\Deskcrew;

Deskcrew::createTicket(email: $request->user()->email, message: $request->input('message'), name: $request->user()->name);

Returns true when DeskCrew accepted the ticket. It never throws into your request cycle and gives up after ten seconds.

FAQ

How do I add live chat to a Laravel app?

composer require deskcrew/laravel, put your widget key in .env as DESKCREW_WIDGET_KEY, and add @deskcrew before </body> in resources/views/layouts/app.blade.php. Every view that extends that layout gets the chat bubble. The service provider is auto-discovered, nothing to register.

Does it work with Livewire, Inertia and Filament?

Yes. The widget mounts once into its own container, so Livewire re-renders and Inertia page visits do not touch it and an open conversation survives navigation. Inertia apps put @deskcrew in the root Blade template that hosts the Vue or React app. Filament panels render through their own layout, so add the directive there if you want it inside the admin.

Do I need to add anything to Vite or Mix?

No. The widget is a single external script loaded from deskcrew.io, not an application asset. There is nothing to import, bundle or version.

Can I create a support ticket from a controller, a form request or a queued job?

Yes. Deskcrew::createTicket(email:, message:, name:) posts the ticket and returns true or false. It never throws into your request cycle and times out after ten seconds, so dispatch it to a queued job (Horizon, database, Redis) when you create tickets in bulk.

Is the AI chatbot going to make things up?

It answers only from the knowledge base you publish on DeskCrew and says so when it does not know. Anything it cannot answer becomes a ticket, and a person approves every outbound reply. The AI never emails a customer on its own.

Is there a free plan?

Yes. The free plan includes the chat widget, ticketing, a public help center and a monthly AI answer allowance, with no credit card. Paid plans add inbound email, white-label and more AI answers: https://deskcrew.io/pricing

Does it work with Symfony, Slim or plain PHP?

Deskcrew\Laravel\Client only needs the Laravel HTTP client, so it runs in any app that has illuminate/http. On Symfony, Slim or plain PHP paste the one-line widget snippet from https://deskcrew.io/integrations/laravel into your base template instead.

What the package sends to DeskCrew

One script tag pointing at https://deskcrew.io/desk.js with your public key and the optional board, colour, position and greeting, each validated and escaped. deskcrew:register-origin posts your site URL and key to https://deskcrew.io/api/widget/register-origin. createTicket posts the name, email and message to https://deskcrew.io/api/widget/submit with your site URL as the Origin. Nothing else leaves your app. Terms: https://deskcrew.io/terms. Privacy: https://deskcrew.io/privacy.

Requirements

PHP 8.1, 8.2, 8.3 or 8.4. Laravel 10, 11 or 12.

License

MIT