PHPackages                             fahlgrendigital/packages-statamic-form-manager - 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. fahlgrendigital/packages-statamic-form-manager

ActiveLibrary[API Development](/categories/api)

fahlgrendigital/packages-statamic-form-manager
==============================================

Statamic form submission management. Send submission data to 3rd party vendors like CRMs and custom REST endpoints.

v2.2.1(1mo ago)0272PHPPHP ^8.1

Since Jul 31Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/FahlgrenMortineDigital/packages-statamic-form-manager)[ Packagist](https://packagist.org/packages/fahlgrendigital/packages-statamic-form-manager)[ RSS](/packages/fahlgrendigital-packages-statamic-form-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (10)Versions (88)Used By (0)

Statamic Form Manager
=====================

[](#statamic-form-manager)

Send submitted form data to 3rd party services. Possible examples include:

- Sending data off to a CRM for further lead management
- Sending data off to a DB for redundancy

Installation
============

[](#installation)

```
$ composer require fahlgrendigital/packages-statamic-form-manager
```

### Publish

[](#publish)

```
$ php artisan vendor:publish --tag=statamic-form-manager-config
```

Configuration
=============

[](#configuration)

**Event Listener**

The form manager event listener needs to be configured so that this package picks up submissions from Statamic. To do this, you need to register the FormSubmissionManager in the Laravel EventServiceProvider.

```
protected $listen = [
        \Statamic\Events\SubmissionSaved::class => [
            \Fahlgrendigital\StatamicFormManager\Listeners\FormSubmissionsManager::class
        ]
    ];
```

`statamic-form-manager`

Statamic form manager allows you to configure managers to handle the shuttling of form data to specified destinations. To create your own managers you can edit the `statamic-form-manager.connectors` array. Give your manager a unique snake-case name and add it to the list of existing managers.

Behind the scenes, form manager process form data with queues. You may specify the queue connection and queue under the `statamic-form-manager.queue` configuration.

**Default Values**

- statamic-form-manager.queue.connection: `env('QUEUE_CONNECTION')` or 'sync'
- statamic-form-manager.queue.queue: `env('STATAMIC_FORM_MANAGER_QUEUE')` or 'form-submissions'

> If you are using Horizon, make sure to configure one of our supervisor processes to handle the queue you set in the above config.

Form Configuration
------------------

[](#form-configuration)

`statamic-forms`

By default, form manager, is not configured to handle any forms as they will be specific to each project. There are two primary sections to this configuration:

- [defaults](#defaults)
- [forms](#forms)

### Defaults

[](#defaults)

You may specify manager-specific default values which will be applied to all forms being managed by that manager. For example, if for your specific CRM (Hubspot), all forms should have default form key/value pair:

> lead\_source: really-cool-website

This could be added within the `defaults` section under that manager's snake-case name. If using the built-in CRM manager, this might look like the following:

```
'defaults' => [
  'crm::hubspot' => [
    'defaults' => [
      'lead_source' => 'really-cool-website'
    ]
  ]
]
```

> Notice the `crm::hubspot` form name. This will be explained below in further detail.

> Notice the `defaults` key under the form manager name.

**In Depth Look**

There are 3 different buckets of form manager data that can be configured:

- Defaults
- Maps

**Defaults**

These would be static values you want passed along to every form handled by a given manager. The example above is a good use-case for this.

**Maps**

This configuration houses key to key mapping when building the 3rd party payload blob. For example, let's say your form has a field called `first_name` in statamic, but in your CRM that field needs to map over to `name_1` for all forms. This can be configured as follows:

```
'defaults' => [
  'crm::hubspot' => [
    'defaults' => [
      'lead_source' => 'really-cool-website'
    ],
    'maps' => [
      'name_1' => 'first_name'
    ]
  ]
]
```

### Forms

[](#forms)

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance89

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

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

Total

85

Last Release

55d ago

Major Versions

v1.x-dev → v2.0.02025-01-31

### Community

Maintainers

![](https://www.gravatar.com/avatar/60dfacae6ab4f80fadfea286b16ad311302ccef2c53d687b25248d242c4b0541?d=identicon)[fahlgren](/maintainers/fahlgren)

---

Top Contributors

[![panda4man](https://avatars.githubusercontent.com/u/3106756?v=4)](https://github.com/panda4man "panda4man (116 commits)")

---

Tags

laravelcmsstatamicflat file

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fahlgrendigital-packages-statamic-form-manager/health.svg)

```
[![Health](https://phpackages.com/badges/fahlgrendigital-packages-statamic-form-manager/health.svg)](https://phpackages.com/packages/fahlgrendigital-packages-statamic-form-manager)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[statamic/statamic

Statamic

824170.4k](/packages/statamic-statamic)[riclep/laravel-storyblok

A Laravel wrapper around the Storyblok API to provide a familiar experience for Laravel devs

6272.7k4](/packages/riclep-laravel-storyblok)[marcorieser/statamic-livewire

A Laravel Livewire integration for Statamic.

2381.5k10](/packages/marcorieser-statamic-livewire)[reachweb/statamic-livewire-filters

Livewire filters for Statamic collections.

1710.5k](/packages/reachweb-statamic-livewire-filters)[cboxdk/statamic-mcp

MCP (Model Context Protocol) server for Statamic CMS v6 — gives AI assistants structured access to content, blueprints, assets, and more.

225.6k](/packages/cboxdk-statamic-mcp)

PHPackages © 2026

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