Skip to content

Introduction ​

If you're integrating with third-party APIs, you've probably dealt with the same problems over and over: where do credentials live, how do you log requests, what happens when the API goes down, how do you retry safely without hammering their rate limits?

Laravel Integrations is a Laravel 11-13 package that handles all of that. You define a provider class, create an integration record with credentials, and every API call you make through it gets logging, caching, rate limiting, retries, and health tracking for free.

How it works ​

You define a provider class that describes how your app talks to an external service (credentials, validation rules, optional capabilities). Then you create an integration record that holds a specific set of credentials for that provider.

php
// Every API call is logged, rate-limited, retried, and health-tracked
$tickets = $integration
    ->at('/api/v2/tickets.json')
    ->as(TicketListResponse::class)
    ->get(fn () => Http::get($url));

Providers opt into additional capabilities by implementing interfaces: HasScheduledSync for automated sync scheduling, HasOAuth2 for OAuth2 flows, HandlesWebhooks for inbound webhooks, and more. See Providers for the full list.

Requirements ​

Official adapters ​

The companion package pocketarc/laravel-integrations-adapters has ready-to-use adapters for GitHub, Zendesk, Stripe, and Postmark. See the Adapters section.