PHPackages                             robinthijsen/laravel-monday - 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. robinthijsen/laravel-monday

ActiveLibrary[API Development](/categories/api)

robinthijsen/laravel-monday
===========================

A Monday API support for Laravel

v1.1(1y ago)043↓100%MITPHPPHP ^8.2

Since Jul 6Pushed 1y ago1 watchersCompare

[ Source](https://github.com/RobinThijsen/laravel-monday)[ Packagist](https://packagist.org/packages/robinthijsen/laravel-monday)[ RSS](/packages/robinthijsen-laravel-monday/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (12)Versions (7)Used By (0)

A laravel package to easily use Monday.com API
==============================================

[](#a-laravel-package-to-easily-use-mondaycom-api)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1447b514d01e2fd2e1683e59fab9d2832ae17a00482457cb7a2cad5f03385629/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726f62696e7468696a73656e2f6c61726176656c2d6d6f6e6461792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/robinthijsen/laravel-monday)

---

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

[](#installation)

This is a Laravel package to easily use the Monday.com API.
You can also use it in vanilla PHP.

First install the package via composer:

```
composer require robinthijsen/laravel-monday
```

(Optionally) You can publish the config file to change the default configuration.

```
# That's currently changing anything so don't do it
# I'm planning to add some config for future version
php artisan vendor:publish --tag="monday-config"
```

This is the contents of the published config file:
You should define your monday.com API token in the `.env` file.

```
return [
    'token' => env('MONDAY_API_TOKEN'),
    'version' => env('MONDAY_API_VERSION', '2024-04'),
];
```

Usage
-----

[](#usage)

Before starting to use the package, you should get your API token from [Monday.com](https://monday.com/)
and look about the documentation of monday object on the [Monday.com API documentation](https://monday.com/developers/v2).

Okay, let's start using the package.
If you know a bit about dynamic classes and props, this package work this way.

```
# This is a list of every Monday object you can use in this package
# Or find them in the src/Objects directory
use \RobinThijsen\LaravelMonday\Objects\Account;
use \RobinThijsen\LaravelMonday\Objects\AccountProduct;
use \RobinThijsen\LaravelMonday\Objects\Block;
use \RobinThijsen\LaravelMonday\Objects\Board;
use \RobinThijsen\LaravelMonday\Objects\Column;
use \RobinThijsen\LaravelMonday\Objects\ColumnValue;
use \RobinThijsen\LaravelMonday\Objects\Doc;
use \RobinThijsen\LaravelMonday\Objects\Group;
use \RobinThijsen\LaravelMonday\Objects\Icon;
use \RobinThijsen\LaravelMonday\Objects\Item;
use \RobinThijsen\LaravelMonday\Objects\Plan;
use \RobinThijsen\LaravelMonday\Objects\Team;
use \RobinThijsen\LaravelMonday\Objects\User;
use \RobinThijsen\LaravelMonday\Objects\Workspace;
use \RobinThijsen\LaravelMonday\Objects\WorkspaceSetting;
```

You can start a query builder by calling the `::query()` or `::find()` method on the object you want to query (If the object doesn't accept querying and unique querying, an Exception will be thrown).

```
use \RobinThijsen\LaravelMonday\Objects\Board;

# This is an example of querying all the boards
# The following params are for Board object
# Check params for other objects in the src/Objects directory
/**
* @param int|array|null $ids => default null
 * @param int|array|null $workspaceIds => default null
 * @param int $limit => default 25
 * @param int $page => default 1
 * @param string $kind => default BoardKind::PUBLIC
 * @param string $state => default State::ACTIVE
 * @return \RobinThijsen\LaravelMonday\Objects\Board[]
 */
$boards = Board::query();
```

`::query()` and `::find()` accept dynamic arguments depending on the object you are querying.

Then, you can chain the query builder with the following methods: `->with()` and `->withObject()`

```
use \RobinThijsen\LaravelMonday\Objects\Board;
use \RobinThijsen\LaravelMonday\Objects\Item;

# This is an example of querying all the boards with the items
$boards = Board::query()
    ->with('id', 'name')
    ->withObject(Item::class, [], ['id', 'name']);
```

```
/**
 * FieldsName are the fields you want to get from the object
 * If the field is not in the object or if it is an object field, an Exception will be thrown
 *
 * @param string ...$fieldNames
 */
public function with(...$fieldNames)
```

```
/**
 * Get an object with the given field names
 *
 * @param string $fieldName
 * @param array|Closure $params
 * @param array $fields
 */
public function withObject($fieldName, $params = [], $fields = [])
```

To call object of object, you need to use the withObject method.
but with a Closure method replacing param $params.

```
use \RobinThijsen\LaravelMonday\Objects\Board;
use \RobinThijsen\LaravelMonday\Objects\Item;
use \RobinThijsen\LaravelMonday\Objects\ColumnValue;

// In this exemple, I recover the board with id 123456
// with all his items and all the column values of each item with specific default fields for each object
$board = Board::find(123456)
    ->with('id', 'name')
    ->withObject(Item::class, function ($builder) {
        $builder->with('id', 'name')
        ->withObject(ColumnValue::class, [], ['text', 'value']);
    });
```

When your query is ready, you can call the `->get()` method to get the results.

```
// This will return you an instance of Board class with asked fields as props
// For this exemple, it will be id and name
$board = Board::find(123456)
    ->with('id', 'name')
    ->get();
```

Author
------

[](#author)

[Robin Thijsen](https://github.com/robinthijsen)

License
-------

[](#license)

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

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

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

Total

6

Last Release

641d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7747987e1deab5d1b7f3be31aab52e03a0b66cc53d052b8766da36d7e13bd4b5?d=identicon)[RobinThijsen](/maintainers/RobinThijsen)

---

Top Contributors

[![RobinThijsen](https://avatars.githubusercontent.com/u/133255797?v=4)](https://github.com/RobinThijsen "RobinThijsen (24 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

apilaravelrobinmondayrobinthijsenlaravel-monday

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/robinthijsen-laravel-monday/health.svg)

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

###  Alternatives

[spatie/laravel-fractal

An easy to use Fractal integration for Laravel applications

1.9k15.1M99](/packages/spatie-laravel-fractal)[rickwest/laravel-wordpress-api

A Laravel read-only client for the WordPress REST API (v2)

3712.5k1](/packages/rickwest-laravel-wordpress-api)[crenspire/laravel-whatsapp

Laravel WhatsApp Business API package

133.0k](/packages/crenspire-laravel-whatsapp)

PHPackages © 2026

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