PHPackages                             laraclaw/laraclaw - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. laraclaw/laraclaw

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

laraclaw/laraclaw
=================

AI-powered chatbot package for Laravel (Telegram, Slack, Email)

v0.1.2(3mo ago)44MITPHPPHP ^8.4CI passing

Since Mar 2Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/laraclaw/laraclaw)[ Packagist](https://packagist.org/packages/laraclaw/laraclaw)[ RSS](/packages/laraclaw-laraclaw/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (32)Versions (20)Used By (0)

Laraclaw
========

[](#laraclaw)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b9952a3c7c443a80dcc9e77d54f003c6ae49720498d7d5a33bd367f7f69985ce/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c617261636c61772f6c617261636c61772e737667)](https://packagist.org/packages/laraclaw/laraclaw)[![Laravel](https://camo.githubusercontent.com/49180e08c9d2bf7321e8c7b5e2e6d04688dfe7dc215442c6e87bb62a1943800c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31322d7265642e737667)](https://laravel.com)[![Code Style](https://camo.githubusercontent.com/6fc9eb2ef620c2512d82c8d77fef4b1af1b0060720f941860f2584094f4d6422/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d4c61726176656c25323050696e742d626c75652e737667)](https://github.com/laravel/pint)[![PHP Version](https://camo.githubusercontent.com/676688cb2f53ad6cbb6f32b4c76b5677dc4446eca3d64888562fc2f5d0063843/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6c617261636c61772f6c617261636c61772e737667)](https://packagist.org/packages/laraclaw/laraclaw)[![Tests](https://camo.githubusercontent.com/216e9f8e3ebddafec26ed6ac5b0e59fd741e52a34fa9b29d246154b2f3a6b4e2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c617261636c61772f6c617261636c61772f74657374732e796d6c3f6272616e63683d6d61696e)](https://github.com/laraclaw/laraclaw/actions)[![License](https://camo.githubusercontent.com/6d6d8ed865f5c38ff0b010e93c13b8a8a41f30707bd3a461f456bffa63694b47/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6c617261636c61772f6c617261636c6177)](https://github.com/laraclaw/laraclaw/blob/main/LICENSE)

What if your Laravel app could talk back? Laraclaw is an AI chatbot package that connects your agent to **Telegram, Slack, Email, and the terminal** — with persistent memory, file handling, calendar access, reminders, and more.

Built on [laravel/ai](https://github.com/laravel/ai).

Requirements
------------

[](#requirements)

- PHP 8.4+
- Laravel 12+
- Redis

Installation
------------

[](#installation)

```
composer require laraclaw/laraclaw
```

Publish the config file and run the interactive setup wizard:

```
php artisan vendor:publish --tag=laraclaw
php artisan laraclaw:setup
```

The wizard will walk you through migrations, owner account creation, connector configuration, and optional tools. That's it!

Connectors
----------

[](#connectors)

Laraclaw has a single owner — one user who controls the bot. All connectors route messages through that user.

ConnectorWho can messageThreadingConversation scopeTelegram DMOwner only—Per userTelegram groupAnyone—Per groupSlack DMOwner onlyNoPer userSlack channelAnyone (@mentioned)Always threadsPer threadEmailOwner only—Per email threadAPIAny token holderVia `key` paramPer keyTerminalOwner—Per session**DM connectors** (Telegram DM, Slack DM, Email) ignore anyone who isn't registered as the owner. **Group/open connectors** always respond using the owner user. The **API connector** authenticates via a hashed Bearer token and is open to any user with a valid token.

### Telegram

[](#telegram)

You'll need a bot token from [@BotFather](https://t.me/BotFather). The setup wizard will prompt for it and print the webhook URL you need to register with Telegram:

```
https://your-app.com/telegram/webhook

```

Point your bot at it with a one-off `setWebhook` call (curl, Postman, or `Telegram::setWebhook(['url' => ...])` from Tinker).

### Slack

[](#slack)

Create a Slack app at [api.slack.com/apps](https://api.slack.com/apps) and add these bot token scopes: `chat:write`, `reactions:add`, `files:read`. Then point your Event Subscriptions URL at:

```
https://your-app.com/slack/webhook

```

Subscribe to `message.channels` and `message.im`.

### API

[](#api)

The API connector exposes a token authenticated endpoint for programmatic access. Run the setup wizard or the standalone connector command to generate a token:

```
php artisan laraclaw:setup-connector api
```

Send a `POST` request with the Bearer token from setup:

```
curl -X POST https://your-app.com/api/message \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello"}'
```

**Request parameters:**

ParameterTypeRequiredDescription`text`stringYes (unless attachments sent)The message text`key`stringNoPass a key from a previous response to continue that conversation. Omit to start a new one.`attachments`file\[\]NoUploaded files**Response:**

```
{
  "success": true,
  "text": "Agent reply here",
  "key": "550e8400-e29b-41d4-a716-446655440000",
  "attachments": []
}
```

Pass the returned `key` in your next request to continue the conversation.

### Email

[](#email)

Laraclaw uses its own SMTP and IMAP config, so it won't interfere with your app's existing mail setup. The setup wizard will prompt you for both. After that, start the IMAP listener:

```
php artisan imap:watch default --with=headers,body
```

Replies thread correctly in email clients using `In-Reply-To` and `References` headers. Conversations are scoped per email thread, not per sender.

Optional Tools
--------------

[](#optional-tools)

### Calendar

[](#calendar)

The setup wizard lets you pick between **Google Calendar** and **Apple CalDAV**. For Google, it will walk you through the OAuth flow. For Apple, you'll need an app-specific password.

### Text-to-Speech

[](#text-to-speech)

Enable TTS in your `.env`:

```
LARACLAW_TTS_ENABLED=true
LARACLAW_TTS_VOICE=default-female
```

Personas
--------

[](#personas)

Personas are Markdown files that override the agent's system prompt. Drop them in `laraclaw/personas/` at your project root:

```
laraclaw/
  personas/
    assistant.md
    developer.md

```

Set a default in your `.env`:

```
LARACLAW_PERSONAS_DEFAULT=assistant
```

Users can switch personas at runtime just by asking the bot. Pretty neat, right?

Skills
------

[](#skills)

Skills are Markdown files with YAML frontmatter that give the agent reusable instructions. Each skill lives in its own directory under `laraclaw/skills/` as a `SKILL.md` file:

```
laraclaw/
  skills/
    summarise/
      SKILL.md

```

```
---
name: summarise
description: Summarises a given text
---

Summarise the following text in 3 bullet points...
```

The agent picks up new skills automatically — no code changes needed.

Queue
-----

[](#queue)

Messages are processed via Laravel's queue. Make sure a worker is running:

```
php artisan queue:work
```

License
-------

[](#license)

MIT

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance85

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~3 days

Total

3

Last Release

117d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3766839?v=4)[Nico Devs](/maintainers/nicodevs)[@nicodevs](https://github.com/nicodevs)

---

Top Contributors

[![nicodevs](https://avatars.githubusercontent.com/u/3766839?v=4)](https://github.com/nicodevs "nicodevs (219 commits)")

---

Tags

aiai-agentai-assistantlaravellaravel-package

###  Code Quality

TestsPest

Static AnalysisRector

### Embed Badge

![Health badge](/badges/laraclaw-laraclaw/health.svg)

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

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M985](/packages/statamic-cms)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

23.9k69.5k](/packages/grumpydictator-firefly-iii)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[code16/sharp

Laravel Content Management Framework

79164.7k8](/packages/code16-sharp)

PHPackages © 2026

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