This packages provides you with the ability to easily connect your Laravel application to ZohoDesk.
marshmallow/zoho-desk is a Laravel package for this packages provides you with the ability to easily connect your laravel application to zohodesk..
It currently has 0 GitHub stars and 25.316 downloads on Packagist (latest version v1.5.1).
Install it with composer require marshmallow/zoho-desk.
Discover more Laravel packages by marshmallow
or browse all Laravel packages to compare alternatives.
Last updated

This packages provides you with the ability to easily connect your Laravel application to ZohoDesk.
You can install the package via composer:
composer require marshmallow/zoho-desk
The service provider and the ZohoDesk facade are registered automatically through Laravel's package discovery.
The documentation for the Zoho Desk api can be found here.
You need to fill in your ZOHO_CLIENT_ID and ZOHO_CLIENT_SECRET to be able to run the next step of the installation. If you know your ZOHO_DEPARTMENT_ID you can fill that in. If you don't, we have a command for you where you can list your departments and then fill it in. This can be run after you've run the auth command.
ZOHO_ACTIVE=true
ZOHO_CLIENT_ID=
ZOHO_CLIENT_SECRET=
ZOHO_DEPARTMENT_ID=
You need to run a migration so we can create a database table where we can store the access tokens for the connection to Zoho Desk.
php artisan migrate
Publish the config file and make adjustments where changes are needed for your situation.
php artisan vendor:publish --provider="Marshmallow\ZohoDesk\ZohoDeskServiceProvider"
The published config/zohodesk.php exposes the following options:
| Key | Default | Description |
| --- | --- | --- |
| active | env('ZOHO_ACTIVE', false) | Whether the Zoho Desk connection is active. |
| client_id | env('ZOHO_CLIENT_ID') | Your Zoho OAuth client ID. |
| client_secret | env('ZOHO_CLIENT_SECRET') | Your Zoho OAuth client secret. |
| department_id | env('ZOHO_DEPARTMENT_ID') | The Zoho Desk department to operate on. |
| auth_host | https://accounts.zoho.eu/oauth/v2 | The Zoho OAuth host used for authentication. |
| desk_host | https://desk.zoho.eu/api/v1 | The Zoho Desk API host. |
| desk_portal_host | https://desk.zoho.eu/portal/api | The Zoho Desk portal API host. |
| default_channel | Web | Default channel used when creating tickets. |
| default_classification | Request | Default classification used when creating tickets. |
| default_language | Dutch | Default language used when creating tickets. |
| scopes | array | The OAuth scopes requested during authentication. |
We need to authenticate your Laravel application with Zoho Desk. You can do this by running the command below. This command will take you through a number of steps to complete the connection.
php artisan zoho-desk:auth
You can list your Departments if you don't know which department ID you need to use. Run the command below, copy the ID and add it to your .env file.
php artisan zoho-desk:list-departments
Each of these calls performs the action immediately on the given ticket:
use Marshmallow\ZohoDesk\Facades\Ticket;
Ticket::setDueDate($ticket_id, now());
Ticket::comment($ticket_id, 'This comment should be added to this ticket', $public = false);
Ticket::attachment($ticket_id, $relative_storage_path);
Or bind them all together and dispatch them with a single post() call:
use Marshmallow\ZohoDesk\Facades\Requests\Ticket;
Ticket::of($ticket_id)
->setDueDate(now())
->comment('This comment should be added to this ticket', $public = false)
->attachment($relative_storage_path)
->post();
We are preparing to implement more Zoho applications than just Zoho Desk. We are starting with Zoho Portal. This can be activated by calling the portal() method on the ZohoDesk facade.
use Marshmallow\ZohoDesk\Facades\ZohoDesk;
ZohoDesk::portal()->get('kbArticles/{articles_id}');
Please see CHANGELOG for more information what has changed recently.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.