PHPackages                             nextdeveloper/ipaas - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. nextdeveloper/ipaas

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nextdeveloper/ipaas
===================

NextDeveloper abstraction library for IPaaS (Integration Platform as a Service) services

v1.2.8(1mo ago)0485↑226.7%MITPHPPHP &gt;=8.2.0

Since Feb 2Pushed 1mo agoCompare

[ Source](https://github.com/nextdeveloper-nl/ipaas)[ Packagist](https://packagist.org/packages/nextdeveloper/ipaas)[ RSS](/packages/nextdeveloper-ipaas/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (8)Dependencies (20)Versions (16)Used By (0)

NextDeveloper IPaaS Library
===========================

[](#nextdeveloper-ipaas-library)

This library provides an enterprise-level abstraction layer for Integration Platform as a Service (iPaaS) providers. It gives your application a unified interface to manage, synchronise, and monitor workflow automations across multiple third-party automation platforms through a single, consistent API.

The design goal is simplicity at the integration boundary — you register a provider once and the library handles authentication, data normalisation, periodic sync, and execution tracking for all supported platforms.

Supported Platforms
-------------------

[](#supported-platforms)

PlatformTypeWorkflowsExecutionsActivate / Deactivate[n8n](https://n8n.io)self-hosted / cloud✅✅✅[Make.com](https://make.com)cloud✅ (scenarios)✅✅[Zapier](https://zapier.com)cloud✅ (zaps)❌ (not in public API)❌ (not in public API)Core Concepts
-------------

[](#core-concepts)

### Providers

[](#providers)

A `Provider` record represents a registered automation platform account. Each provider stores the credentials and base URL needed to reach the platform's API:

Provider fieldn8nMake.comZapier`region` / `base_url`Instance URLRegional API base`https://api.zapier.com/v2``external_account_id`N8N API keyMake.com team ID—`api_token`—Make.com API tokenZapier personal token`provider_type``n8n` or `n8n-cloud``make``zapier`### Workflows

[](#workflows)

A `Workflow` is the library's unified representation of an automation (n8n workflow, Make scenario, Zapier zap). Workflows are fetched from the platform and stored locally so they can be queried, filtered, and associated with executions without hitting the upstream API on every request.

### Workflow Executions

[](#workflow-executions)

A `WorkflowExecution` records the outcome of a single workflow run. The library normalises each platform's status vocabulary into a common set: `success`, `error`, `running`, `waiting`, `canceled`.

### Statistics

[](#statistics)

The library automatically maintains daily aggregate tables (`ipaas_workflow_daily_stats`, `ipaas_execution_daily_stats`) and per-account summaries (`ipaas_account_stats`) so dashboards can be served without expensive live queries.

---

Platform Integration Features
-----------------------------

[](#platform-integration-features)

- Unified `WapInterface` — all platforms implement the same contract
- `testConnection()` — verify credentials before storing a provider
- `listWorkflows()` / `getWorkflow()` — browse automation definitions
- `activateWorkflow()` / `deactivateWorkflow()` — control workflow state
- `listExecutions()` / `getExecution()` / `deleteExecution()` — manage execution history
- `syncWorkflows()` — pull all workflows from the platform and upsert locally
- `syncExecutions()` — pull execution history within a configurable time window
- Webhook-triggered sync (currently polling only)
- Workflow creation via API (create automations from within your app)
- Cross-platform workflow migration

---

Sync Jobs and Artisan Commands
------------------------------

[](#sync-jobs-and-artisan-commands)

The library ships with queue jobs and Artisan commands for each platform so syncs can be scheduled, dispatched manually, or run inline for debugging.

### Commands

[](#commands)

```
# Sync all n8n providers (workflows + executions)
php artisan ipaas:sync-n8n

# Sync only workflows for a specific provider
php artisan ipaas:sync-n8n --workflows-only --provider=

# Sync executions from a custom time window
php artisan ipaas:sync-n8n --executions-only --since="7 days ago"

# Run synchronously in the current process (no queue)
php artisan ipaas:sync-n8n --sync

# Make.com
php artisan ipaas:sync-make
php artisan ipaas:sync-make-scenarios
php artisan ipaas:sync-make-executions

# Zapier
php artisan ipaas:sync-zapier
php artisan ipaas:sync-zapier-workflows
```

### Scheduler

[](#scheduler)

Add the following to your `app/Console/Kernel.php` to keep data fresh:

```
$schedule->job(new SyncN8NWorkflowsJob())->hourly()->onQueue('ipaas-sync');
$schedule->job(new SyncN8NExecutionsJob())->hourly()->onQueue('ipaas-sync');
$schedule->job(new SyncMakeScenariosJob())->hourly()->onQueue('ipaas-sync');
$schedule->job(new SyncMakeExecutionsJob())->hourly()->onQueue('ipaas-sync');
$schedule->job(new SyncZapierWorkflowsJob())->hourly()->onQueue('ipaas-sync');
```

Jobs are dispatched to the `ipaas-sync` queue by default and support automatic retries with backoff.

---

Authorization
-------------

[](#authorization)

The library uses role-based access control via the `IntegrationPlatformUser` role. This role restricts users to their own account's providers, workflows, and executions through Eloquent global scopes, so no data leaks across account boundaries.

---

Perspectives (Read-Only Views)
------------------------------

[](#perspectives-read-only-views)

The library exposes several database views for efficient reporting without application-level joins:

PerspectiveDescription`AccountProviderOverviews`Per-account summary of registered providers and their health`PlatformHealthPerspective`Cross-provider health snapshot for operations dashboards`WorkflowExecutionsPerspective`Enriched execution list with workflow and provider context---

Adding a New Platform
---------------------

[](#adding-a-new-platform)

1. Create an integration class in `src/Integrations//` that extends `AbstractWapIntegration` and implements `WapInterface`.
2. Create a corresponding interface in the same directory.
3. Add the provider type to `WapIntegrationFactory::make()`.
4. Add sync jobs under `src/Jobs//` following the existing pattern.
5. Add Artisan commands under `src/Console/Commands/`.

---

Commercial Support
------------------

[](#commercial-support)

Please let us know if you need any commercial support. We will be happy to help you integrate this library into your project.

Want to Contribute?
-------------------

[](#want-to-contribute)

You are very welcome to contribute. Please send us an email so we can get in touch and discuss the details:

---

Our Libraries
-------------

[](#our-libraries)

This library is part of the **NextDeveloper / PlusClouds open-source ecosystem**. Browse all available libraries and find the right building blocks for your next project:

---

Join the Community
------------------

[](#join-the-community)

We believe great software is built together. The PlusClouds developer community is a place where engineers share ideas, ask questions, showcase what they have built, and help shape the direction of these libraries. Whether you are integrating a single package or building an entire platform on top of our stack, you are very welcome here.

Come and join us — we would love to see what you build:

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance94

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

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

Total

13

Last Release

30d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/95028646?v=4)[Harun Barış Bulut](/maintainers/yakari007)[@yakari007](https://github.com/yakari007)

---

Top Contributors

[![yakari007](https://avatars.githubusercontent.com/u/95028646?v=4)](https://github.com/yakari007 "yakari007 (20 commits)")[![ikhalilatteib](https://avatars.githubusercontent.com/u/69690003?v=4)](https://github.com/ikhalilatteib "ikhalilatteib (3 commits)")

---

Tags

ipaasplatform-engineering

### Embed Badge

![Health badge](/badges/nextdeveloper-ipaas/health.svg)

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

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[google/cloud-core

Google Cloud PHP shared dependency, providing functionality useful to all components.

346132.9M112](/packages/google-cloud-core)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[phpactor/phpactor

PHP refactoring and intellisense tool for text editors

1.9k17.1k1](/packages/phpactor-phpactor)[concrete5/core

Concrete core subtree split

20166.1k52](/packages/concrete5-core)

PHPackages © 2026

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