PHPackages                             automata-kit/automata-kit - 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. automata-kit/automata-kit

ActiveLibrary[API Development](/categories/api)

automata-kit/automata-kit
=========================

Automata Kit - Laravel automation package for seamless integrations with n8n, Zapier, Make, Slack, Telegram, WhatsApp, and more

v1.1.0(6mo ago)1216[1 PRs](https://github.com/Eng-MMustafa/automata-kit/pulls)MITPHPPHP ^8.3

Since Oct 21Pushed 6mo agoCompare

[ Source](https://github.com/Eng-MMustafa/automata-kit)[ Packagist](https://packagist.org/packages/automata-kit/automata-kit)[ RSS](/packages/automata-kit-automata-kit/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (10)Versions (3)Used By (0)

Automata Kit
============

[](#automata-kit)

[![Latest Version on Packagist](https://camo.githubusercontent.com/f5194219c2a49ba394c3fd9aeb533ddfb9d6cf73869b2a145a494c1f5395ec8a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6175746f6d6174612d6b69742f6175746f6d6174612d6b69742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/automata-kit/automata-kit)[![Total Downloads](https://camo.githubusercontent.com/f6c18b908c1bf52471853f88391230c1dfd58c8883c965583ab2ca16883e8066/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6175746f6d6174612d6b69742f6175746f6d6174612d6b69742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/automata-kit/automata-kit)[![License](https://camo.githubusercontent.com/b28eda14614c3613341530a65959970caa4d041cb9e9bd4a8d66307787c89ab7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6175746f6d6174612d6b69742f6175746f6d6174612d6b69742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/automata-kit/automata-kit)

A comprehensive Laravel package for seamless automation integrations with tools like **n8n**, **Zapier**, **Make**, **Slack**, **Telegram**, **WhatsApp**, **Google Sheets**, **Airtable**, **Discord**, **HubSpot**, **Google Drive**, and **OpenAI**.

🚀 Features
----------

[](#-features)

- **Multi-Service Integration**: Built-in drivers for 12+ popular automation and communication platforms
- **Unified Interface**: Single API to interact with all services using Laravel's familiar syntax
- **Webhook Management**: Auto-generate secure webhook endpoints with signature verification
- **Event-Driven**: Automatic Laravel event dispatching for all webhook interactions
- **Queue Support**: Built-in async processing with Laravel's queue system
- **Extensible**: Easy-to-create custom drivers for any service
- **Filament Dashboard**: Optional admin interface for monitoring and management
- **Production Ready**: Comprehensive logging, error handling, and security features

📦 Installation
--------------

[](#-installation)

Install the package via Composer:

```
composer require automata-kit/automata-kit
```

Publish the configuration file:

```
php artisan vendor:publish --tag=automation-config
```

Publish and run the migrations:

```
php artisan vendor:publish --tag=automation-migrations
php artisan migrate
```

⚙️ Configuration
----------------

[](#️-configuration)

Add your service credentials to your `.env` file:

```
# Slack
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_SIGNING_SECRET=your-signing-secret

# n8n
N8N_BASE_URL=https://your-n8n-instance.com
N8N_WEBHOOK_URL=https://your-n8n-instance.com/webhook/your-webhook-id
N8N_API_KEY=your-api-key

# Telegram
TELEGRAM_BOT_TOKEN=your-bot-token
TELEGRAM_DEFAULT_CHAT_ID=your-chat-id

# WhatsApp Business API
WHATSAPP_ACCESS_TOKEN=your-access-token
WHATSAPP_PHONE_NUMBER_ID=your-phone-number-id

# OpenAI
OPENAI_API_KEY=your-api-key

# HubSpot
HUBSPOT_ACCESS_TOKEN=your-access-token

# Airtable
AIRTABLE_API_KEY=your-api-key
AIRTABLE_BASE_ID=your-base-id

# Discord
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your/webhook/url

# Zapier & Make
ZAPIER_WEBHOOK_URL=https://hooks.zapier.com/hooks/catch/your/webhook
MAKE_WEBHOOK_URL=https://hook.integromat.com/your/webhook/url
```

🎯 Quick Start
-------------

[](#-quick-start)

### Sending Data to Services

[](#sending-data-to-services)

```
use AutomataKit\LaravelAutomationConnect\Facades\Automation;

// Send a Slack message
Automation::to('slack')->send([
    'text' => 'New order received! 🎉',
    'channel' => '#notifications'
]);

// Trigger an n8n workflow
Automation::to('n8n')->send([
    'customer_id' => 123,
    'order_total' => 150.00,
    'event' => 'order_created'
]);

// Send a Telegram notification
Automation::to('telegram')->send([
    'chat_id' => '-123456789',
    'text' => 'Your order has been shipped! 📦'
]);

// Create a HubSpot contact
Automation::to('hubspot')->send([
    'email' => 'customer@example.com',
    'firstname' => 'John',
    'lastname' => 'Doe'
]);
```

### Receiving Webhooks

[](#receiving-webhooks)

The package automatically creates webhook endpoints at `/webhooks/{service}/{event?}`. Configure your external services to send webhooks to:

```
https://yourapp.com/webhooks/slack
https://yourapp.com/webhooks/n8n/order-completed
https://yourapp.com/webhooks/telegram

```

### Handling Webhook Events

[](#handling-webhook-events)

Create event listeners to process incoming webhooks:

```
use AutomataKit\LaravelAutomationConnect\Events\WebhookReceived;

class SlackWebhookListener
{
    public function handle(WebhookReceived $event): void
    {
        if ($event->service === 'slack' && $event->event === 'app_mention') {
            // Bot was mentioned in Slack
            $text = $event->payload['event']['text'];
            $channel = $event->payload['event']['channel'];

            // Respond automatically
            Automation::to('slack')->send([
                'channel' => $channel,
                'text' => "I heard you mention me! 👋"
            ]);
        }
    }
}
```

Register in your `EventServiceProvider`:

```
protected $listen = [
    WebhookReceived::class => [
        SlackWebhookListener::class,
    ],
];
```

🔧 Available Drivers
-------------------

[](#-available-drivers)

### Communication Platforms

[](#communication-platforms)

- **Slack**: Send messages, handle events, slash commands
- **Telegram**: Send messages, handle updates, inline keyboards
- **WhatsApp**: Send messages via WhatsApp Business API
- **Discord**: Send messages via webhooks

### Automation Platforms

[](#automation-platforms)

- **n8n**: Trigger workflows, handle webhook responses
- **Zapier**: Send data to Zapier webhooks
- **Make** (Integromat): Trigger Make scenarios

### Business Tools

[](#business-tools)

- **HubSpot**: Create/update contacts, deals, companies
- **Airtable**: Create/update records in bases
- **Google Sheets**: Read/write spreadsheet data (requires OAuth)
- **Google Drive**: Upload/manage files (requires OAuth)

### AI Services

[](#ai-services)

- **OpenAI**: Generate completions, embeddings, chat responses

🎨 Advanced Usage
----------------

[](#-advanced-usage)

### Custom Drivers

[](#custom-drivers)

Create custom drivers for any service:

```
use AutomataKit\LaravelAutomationConnect\Drivers\BaseDriver;
use Illuminate\Http\Request;

class CustomServiceDriver extends BaseDriver
{
    public function getName(): string
    {
        return 'custom_service';
    }

    public function send(array $data, array $options = []): mixed
    {
        $apiKey = $this->getConfigValue('api_key');

        return $this->makeRequest('POST', 'https://api.example.com/webhook', [
            'headers' => ['Authorization' => "Bearer {$apiKey}"],
            'json' => $data,
        ]);
    }

    public function handleWebhook(Request $request): mixed
    {
        return ['status' => 'received', 'data' => $request->all()];
    }
}
```

Register your custom driver:

```
// In AppServiceProvider
$this->app->bind('automation.driver.custom_service', CustomServiceDriver::class);
```

### Async Processing with Queues

[](#async-processing-with-queues)

Enable queue processing for webhook handling:

```
use AutomataKit\LaravelAutomationConnect\Events\WebhookReceived;
use Illuminate\Contracts\Queue\ShouldQueue;

class AsyncWebhookListener implements ShouldQueue
{
    public function handle(WebhookReceived $event): void
    {
        // This will be processed asynchronously
        ProcessWebhookJob::dispatch($event->service, $event->payload);
    }
}
```

### Conditional Sending

[](#conditional-sending)

Send to different services based on conditions:

```
$drivers = ['slack', 'discord', 'telegram'];

foreach ($drivers as $driver) {
    if (Automation::hasDriver($driver)) {
        Automation::to($driver)->send([
            'message' => "Alert: System maintenance in 10 minutes"
        ]);
    }
}
```

📊 Filament Dashboard
--------------------

[](#-filament-dashboard)

Enable the optional Filament dashboard to monitor webhook logs:

```
AUTOMATION_DASHBOARD_ENABLED=true
```

Install Filament (if not already installed):

```
composer require filament/filament
```

The dashboard provides:

- Real-time webhook logs and status
- Success/failure analytics
- Retry failed webhooks
- Filter and search capabilities
- Performance metrics

🔒 Security
----------

[](#-security)

### Webhook Verification

[](#webhook-verification)

Enable webhook signature verification:

```
AUTOMATION_VERIFY_WEBHOOKS=true
SLACK_SIGNING_SECRET=your-slack-signing-secret
```

### IP Restrictions

[](#ip-restrictions)

Restrict webhook access to specific IPs:

```
AUTOMATION_ALLOWED_IPS=192.168.1.1,10.0.0.0/8
```

### HTTPS Enforcement

[](#https-enforcement)

Require HTTPS for webhook endpoints:

```
AUTOMATION_REQUIRE_HTTPS=true
```

📝 Real-World Examples
---------------------

[](#-real-world-examples)

### E-commerce Order Processing

[](#e-commerce-order-processing)

```
// When an order is created
class OrderCreated
{
    public function handle($order): void
    {
        // Notify team on Slack
        Automation::to('slack')->send([
            'text' => "🛒 New order #{$order->id} - ${$order->total}",
            'blocks' => [
                [
                    'type' => 'section',
                    'fields' => [
                        ['type' => 'mrkdwn', 'text' => "*Customer:* {$order->customer->name}"],
                        ['type' => 'mrkdwn', 'text' => "*Total:* ${$order->total}"]
                    ]
                ]
            ]
        ]);

        // Add to CRM
        Automation::to('hubspot')->send([
            'email' => $order->customer->email,
            'total_revenue' => $order->total,
            'last_purchase_date' => now()->toDateString(),
        ]);

        // Update spreadsheet
        Automation::to('airtable')->send([
            'Order ID' => $order->id,
            'Customer' => $order->customer->name,
            'Total' => $order->total,
            'Date' => $order->created_at->toDateString(),
        ], ['table' => 'Orders']);

        // Trigger fulfillment workflow
        Automation::to('n8n')->send([
            'order_id' => $order->id,
            'items' => $order->items->toArray(),
            'shipping_address' => $order->shipping_address,
        ]);
    }
}
```

### Customer Support Integration

[](#customer-support-integration)

```
class SupportTicketCreated
{
    public function handle($ticket): void
    {
        // Notify support team
        Automation::to('slack')->send([
            'channel' => '#support',
            'text' => "🎫 New support ticket #{$ticket->id}",
            'attachments' => [
                [
                    'color' => $ticket->priority === 'high' ? 'danger' : 'warning',
                    'fields' => [
                        ['title' => 'Customer', 'value' => $ticket->customer->name],
                        ['title' => 'Subject', 'value' => $ticket->subject],
                        ['title' => 'Priority', 'value' => strtoupper($ticket->priority)],
                    ]
                ]
            ]
        ]);

        // Generate AI response suggestion
        $aiResponse = Automation::to('openai')->send([
            'model' => 'gpt-4',
            'messages' => [
                [
                    'role' => 'system',
                    'content' => 'You are a helpful customer support assistant. Provide a professional response.'
                ],
                [
                    'role' => 'user',
                    'content' => $ticket->description
                ]
            ]
        ]);

        // Log the suggestion for support agent
        $ticket->notes()->create([
            'content' => "AI Suggestion: " . $aiResponse['choices'][0]['message']['content'],
            'type' => 'ai_suggestion'
        ]);
    }
}
```

### Marketing Automation

[](#marketing-automation)

```
class NewsletterSignup
{
    public function handle($subscriber): void
    {
        // Add to CRM
        Automation::to('hubspot')->send([
            'email' => $subscriber->email,
            'firstname' => $subscriber->name,
            'hs_lead_status' => 'NEW',
            'lifecyclestage' => 'subscriber',
        ]);

        // Send welcome message
        Automation::to('telegram')->send([
            'chat_id' => $subscriber->telegram_chat_id,
            'text' => "🎉 Welcome to our newsletter, {$subscriber->name}! Thanks for subscribing.",
        ]);

        // Update analytics
        Automation::to('google_sheets')->send([
            'Date' => now()->toDateString(),
            'Email' => $subscriber->email,
            'Source' => $subscriber->source,
            'Campaign' => $subscriber->campaign,
        ], ['spreadsheet' => 'newsletter-analytics']);
    }
}
```

🧪 Testing
---------

[](#-testing)

Run the test suite:

```
composer test
```

📚 Documentation
---------------

[](#-documentation)

Complete documentation and examples are included in this package.

🤝 Contributing
--------------

[](#-contributing)

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.

🔒 Security
----------

[](#-security-1)

If you discover any security vulnerabilities, please use GitHub issues or contact the package author.

📄 License
---------

[](#-license)

This package is open-sourced software licensed under the [MIT license](LICENSE.md).

🚀 Roadmap
---------

[](#-roadmap)

- Google Calendar integration
- Microsoft Teams support
- Salesforce connector
- Notion API integration
- Webhook rate limiting &amp; throttling
- GraphQL webhook support
- Multi-tenant support

---

Developed by Mohammed Mustafa for the Laravel community.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance66

Regular maintenance activity

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

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 ~0 days

Total

2

Last Release

202d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7db1b1473ad410be3d7c2a7369854ce73e2ccb3ae308efdf025971eb11ebe931?d=identicon)[Eng-MMustafa](/maintainers/Eng-MMustafa)

---

Top Contributors

[![Eng-MMustafa](https://avatars.githubusercontent.com/u/25277129?v=4)](https://github.com/Eng-MMustafa "Eng-MMustafa (2 commits)")

---

Tags

laravelautomationslackworkflowwebhookstelegramintegrationwhatsappmaken8nzapier

###  Code Quality

TestsPest

### Embed Badge

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

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

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[irazasyed/telegram-bot-sdk

The Unofficial Telegram Bot API PHP SDK

3.3k4.5M84](/packages/irazasyed-telegram-bot-sdk)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[kayedspace/laravel-n8n

A complete, expressive, and fluent Laravel client for the n8n public REST API and Webhooks Triggering.

1376.2k1](/packages/kayedspace-laravel-n8n)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[simplestats-io/laravel-client

Client for SimpleStats!

4515.5k](/packages/simplestats-io-laravel-client)

PHPackages © 2026

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