PHPackages                             quickhelper/quicktrello - 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. quickhelper/quicktrello

ActiveLibrary

quickhelper/quicktrello
=======================

A Laravel package for quick integration with Trello API

v2.0.0(1y ago)25.2k↓48%MITPHPPHP &gt;=8.1

Since Feb 27Pushed 1y ago1 watchersCompare

[ Source](https://github.com/yossef-ashraf/QuickTrello)[ Packagist](https://packagist.org/packages/quickhelper/quicktrello)[ RSS](/packages/quickhelper-quicktrello/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (4)Used By (0)

QuickTrello
===========

[](#quicktrello)

A Laravel package for quick and easy integration with the Trello API, providing a comprehensive set of features for managing boards, lists, cards, members, and more.

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

[](#installation)

You can install the package via composer:

```
composer require quickhelper/quicktrello
```

Publishing the config file
--------------------------

[](#publishing-the-config-file)

```
php artisan vendor:publish --tag="quicktrello-config"
```

This will publish the config file to `config/quicktrello.php`.

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

[](#configuration)

Add the following to your `.env` file:

```
TRELLO_API_KEY=your_trello_api_key
TRELLO_TOKEN=your_trello_token
TRELLO_WEBHOOK_SECRET=optional_webhook_secret

```

You can get your API key and token from .

Usage
-----

[](#usage)

### Boards

[](#boards)

```
use QuickTrello\Facades\QuickTrello;

// Get all boards
$boards = QuickTrello::getBoards();

// Get a specific board
$board = QuickTrello::getBoard('board_id');

// Get board members
$members = QuickTrello::getBoardMembers('board_id');
```

### Lists

[](#lists)

```
// Get lists for a board
$lists = QuickTrello::getLists('board_id');

// Create a new list
$list = QuickTrello::createList('board_id', 'List Name', [
    'pos' => 'top' // Optional position ('top', 'bottom', or a position value)
]);

// Update a list
$list = QuickTrello::updateList('list_id', [
    'name' => 'New List Name',
    'pos' => 'bottom'
]);

// Archive a list
$list = QuickTrello::archiveList('list_id', true); // Archive
$list = QuickTrello::archiveList('list_id', false); // Unarchive
```

### Cards

[](#cards)

```
// Get cards for a list
$cards = QuickTrello::getCards('list_id');

// Create a card
$card = QuickTrello::createCard('list_id', 'Card title', [
    'desc' => 'Card description',
    'due' => '2025-03-01',
    'pos' => 'top'
]);

// Update a card
$card = QuickTrello::updateCard('card_id', [
    'name' => 'Updated Card Title',
    'desc' => 'Updated description'
]);

// Move a card to another list
$card = QuickTrello::moveCard('card_id', 'new_list_id');

// Add a comment to a card
$comment = QuickTrello::addComment('card_id', 'This is a comment');

// Add a label to a card
$label = QuickTrello::addLabel('card_id', 'label_id');

// Remove a label from a card
$result = QuickTrello::removeLabel('card_id', 'label_id');

// Add a due date to a card
$card = QuickTrello::addDueDate('card_id', '2025-03-01T12:00:00Z');
```

### Members and Assignments

[](#members-and-assignments)

```
// Get all board members
$members = QuickTrello::getBoardMembers('board_id');

// Get all organization members
$members = QuickTrello::getOrganizationMembers('org_id');

// Assign a member to a card
$result = QuickTrello::assignMemberToCard('card_id', 'member_id');

// Remove a member from a card
$result = QuickTrello::removeMemberFromCard('card_id', 'member_id');

// Get members assigned to a card
$members = QuickTrello::getCardMembers('card_id');
```

### Checklists

[](#checklists)

```
// Add a checklist to a card
$checklist = QuickTrello::addChecklist('card_id', 'Checklist Name');

// Add an item to a checklist
$item = QuickTrello::addChecklistItem('checklist_id', 'Checklist Item');
```

### Webhooks

[](#webhooks)

The package automatically registers a webhook endpoint at `/api/trello/webhooks` (configurable). You can create webhooks in Trello to receive notifications when events occur:

```
// Create a webhook
$webhook = QuickTrello::createWebhook(
    'https://your-app.com/api/trello/webhooks',
    'model_id', // board_id, card_id, etc.
    'Description of webhook'
);

// Get all webhooks
$webhooks = QuickTrello::getWebhooks();

// Delete a webhook
$result = QuickTrello::deleteWebhook('webhook_id');
```

### Listening for Webhook Events

[](#listening-for-webhook-events)

You can listen for webhook events in your Laravel application:

```
// In your EventServiceProvider
Event::listen('quicktrello.webhook_received', function ($payload) {
    // Handle all webhook events
});

// Listen for specific event types
Event::listen('quicktrello.createCard', function ($payload) {
    // Handle card creation events
});

Event::listen('quicktrello.updateCard', function ($payload) {
    // Handle card update events
});

Event::listen('quicktrello.addMemberToCard', function ($payload) {
    // Handle when a member is assigned to a card
});

Event::listen('quicktrello.createList', function ($payload) {
    // Handle list creation events
});
```

Advanced Usage
--------------

[](#advanced-usage)

### Error Handling

[](#error-handling)

The package throws `TrelloException` when API errors occur. You can catch these exceptions to handle errors gracefully:

```
use QuickTrello\Exceptions\TrelloException;

try {
    $card = QuickTrello::createCard('list_id', 'Card title');
} catch (TrelloException $e) {
    // Handle error
    $statusCode = $e->getCode();
    $message = $e->getMessage();
}
```

### Webhook Verification

[](#webhook-verification)

For added security, you can set a webhook secret in your config and the package will verify incoming webhook requests:

```
// In config/quicktrello.php
'webhook_secret' => env('TRELLO_WEBHOOK_SECRET'),
```

Available Methods
-----------------

[](#available-methods)

### Boards

[](#boards-1)

- `getBoards()`
- `getBoard(string $boardId)`
- `getBoardMembers(string $boardId)`

### Lists

[](#lists-1)

- `getLists(string $boardId)`
- `createList(string $boardId, string $name, array $options = [])`
- `updateList(string $listId, array $data)`
- `archiveList(string $listId, bool $archived = true)`

### Cards

[](#cards-1)

- `getCards(string $listId)`
- `createCard(string $listId, string $name, array $options = [])`
- `updateCard(string $cardId, array $data)`
- `moveCard(string $cardId, string $listId)`
- `addComment(string $cardId, string $text)`
- `addLabel(string $cardId, string $labelId)`
- `removeLabel(string $cardId, string $labelId)`
- `addDueDate(string $cardId, string $dueDate)`

### Members

[](#members)

- `getBoardMembers(string $boardId)`
- `getOrganizationMembers(string $orgId)`
- `assignMemberToCard(string $cardId, string $memberId)`
- `removeMemberFromCard(string $cardId, string $memberId)`
- `getCardMembers(string $cardId)`

### Checklists

[](#checklists-1)

- `addChecklist(string $cardId, string $name)`
- `addChecklistItem(string $checklistId, string $name)`

### Webhooks

[](#webhooks-1)

- `createWebhook(string $callbackUrl, string $idModel, string $description = '')`
- `deleteWebhook(string $webhookId)`
- `getWebhooks()`

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Best regards,
[Yossef Ashraf](https://github.com/yossef-ashraf)

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance45

Moderate activity, may be stable

Popularity26

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

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

Total

3

Last Release

435d ago

Major Versions

v1.1.0 → v2.0.02025-03-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/3c4054a725ba98c7f70895a16ce6e1670cfe249a3dee6417c79513cbc89d4038?d=identicon)[yossef-ashraf](/maintainers/yossef-ashraf)

---

Top Contributors

[![yossef-ashraf](https://avatars.githubusercontent.com/u/82105736?v=4)](https://github.com/yossef-ashraf "yossef-ashraf (18 commits)")

---

Tags

laravelphptrellotrello-api

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[spatie/laravel-export

Create a static site bundle from a Laravel app

646127.9k5](/packages/spatie-laravel-export)[torchlight/torchlight-laravel

A Laravel Client for Torchlight, the syntax highlighting API.

120452.8k11](/packages/torchlight-torchlight-laravel)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[iankumu/mpesa

A package that helps integrate the Mpesa APIs to your Laravel Project

5014.7k](/packages/iankumu-mpesa)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1516.7k](/packages/truckersmp-steam-socialite)

PHPackages © 2026

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