Skip to main content
This guide walks you through connecting your Laravel app to Exo Cloud so your resources become available in Zapier, Make, and n8n.

Prerequisites

1

Log in to Exo Cloud

Authenticate your local development environment with Exo Cloud:
php artisan exo:login
This opens your browser for OAuth authentication. After you authorize, your credentials are stored locally in an encrypted file at storage/app/.exo-credentials.
The login uses a PKCE authorization code flow. If your browser doesn’t open automatically, follow the URL printed in the terminal.
2

Verify your login

Confirm you’re authenticated:
php artisan exo:whoami
This shows the name and email associated with your Exo Cloud account.
3

Generate the schema

Create a JSON schema file that describes your resources:
php artisan exo:schema
This generates an exo-schema.json file in your project root. The schema includes:
  • All registered resources and their names
  • Trigger events for each resource
  • Field names and types (inferred from your createRules)
4

Upload to Exo Cloud

Push the schema to your Exo Cloud project:
php artisan exo:upload
The command lists your available Exo Cloud projects and asks you to select one. After uploading, your resources are synced with the connected platforms.

Zapier deploy key

If you’re deploying to Zapier, you need a deploy key. Set it in your .env file:
ZAPIER_DEPLOY_KEY=your-zapier-deploy-key
Or in config/exo.php:
'providers' => [
    'zapier' => [
        'deploy_key' => env('ZAPIER_DEPLOY_KEY'),
    ],
],
The deploy key is sent along with the schema upload when deploying to Zapier.

Logging out

To remove your stored credentials:
php artisan exo:logout
This deletes the encrypted credentials file.

Re-uploading after changes

Whenever you add, remove, or modify resources, regenerate and re-upload the schema:
php artisan exo:schema && php artisan exo:upload
This keeps the automation platforms in sync with your app’s current resource definitions.