PHPackages                             blackbricksoftware/gravityforms-civicrm-form-processor - 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. blackbricksoftware/gravityforms-civicrm-form-processor

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

blackbricksoftware/gravityforms-civicrm-form-processor
======================================================

v1.0.0(10mo ago)101PHPPHP ^8.1

Since Aug 19Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/blackbricksoftware/gravityforms-civicrm-form-processor)[ Packagist](https://packagist.org/packages/blackbricksoftware/gravityforms-civicrm-form-processor)[ RSS](/packages/blackbricksoftware-gravityforms-civicrm-form-processor/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Gravity Forms CiviCRM Form Processor
====================================

[](#gravity-forms-civicrm-form-processor)

Send remote requests to [CiviCRM](https://civicrm.org/) with [Gravity Forms](https://www.gravityforms.com/) [Webhooks](https://www.gravityforms.com/add-ons/webhooks/). This can be done directly to the [CiviCRM API](https://docs.civicrm.org/dev/en/latest/api/) or via [Form Processor](https://lab.civicrm.org/extensions/form-processor).

What does this extension do?
----------------------------

[](#what-does-this-extension-do)

TL;DR; This extension makes it easier to send data from a Gravity Form to a remote CiviCRM installation.

The CiviCRM REST REST API consumed data via encoded JSON a HTTP form post. In [APIv3](https://docs.civicrm.org/dev/en/latest/api/v3/rest/), this variable is `json`, in [APIv4](https://docs.civicrm.org/dev/en/latest/api/v4/rest/) this variable is `params`. Out of the box, the Gravity Forms Webhooks extension does not support structured JSON or combining data encodings like this (i.e. a Request Format of FORM containing encoded JSON).

This extension also add the option to send an email notification when a webhook to CiviCRM fails.

How do I get this up and running?
---------------------------------

[](#how-do-i-get-this-up-and-running)

1. (Recommended) Install and configure the [AuthX](https://docs.civicrm.org/dev/en/latest/framework/authx/) extension that comes with CiviCRM. This gives many options for authentication mechanisms.
    1. Configure authentication rules and mechanisms (Administer -&gt; Administration Console -&gt; Authentication). The defaults are probably okay.
2. (Recommended) Install [API Key](https://civicrm.org/extensions/api-key) Extension
3. (Recommended) Install the [Action Provider](https://civicrm.org/extensions/action-provider) and [Form Processor](https://civicrm.org/extensions/form-processor) extensions. These are not necessary, but they do provide quite a bit for flexibility in how data from Gravity Forms is processed compared to directly using the CiviCRM API.
4. Create a new contact to function as the creator of any data coming in from Gravity Forms; there are a [number of ways to authenticate](https://docs.civicrm.org/dev/en/latest/framework/authx/#flows) with this contact. This contact might need an attached user account if the Gravity Forms requests will require specific permissions.
    1. Add an API Key to this contact.
    2. Not the API Key and Site Key (if using Site Key Guard in AuthX)
5. Determine the CiviCRM API end point. There are a number of options: legacy, modern, CMS specific... In this example, we will use the modern ones.
    1. Wordpress
        1.
        2.
        3. [https://civicrm.example.org/civicrm/?civiwp=CiviCRM&amp;q=civicrm/ajax/rest](https://civicrm.example.org/civicrm/?civiwp=CiviCRM&q=civicrm/ajax/rest)
    2. Drupal
        1.
    3. Joomla
        1. [https://civicrm.example.org/index.php?option=com\_civicrm&amp;format=raw&amp;task=civicrm/ajax/rest](https://civicrm.example.org/index.php?option=com_civicrm&format=raw&task=civicrm/ajax/rest)
        2. (with customization)
            1. To use the clean version of the URL with Joomla, add these likes to the `.htaccess` file user the `` section

            ```
            # Provide a consistant way to access civicrm content
            RewriteCond %{REQUEST_URI} ^/civicrm/(.*)$
            RewriteRule ^(.*)$ index.php?option=com_civicrm&format=raw&task=$1 [QSA]

            ```
6. Create a Gravity Form
7. Go to the Form Settings and add a Webhook
    1. Add the CiviCRM API end point to the Request URL with `entity` (e.g. Contact) and `action` (e.g. create) as query string parameters.
    2. Choose `POST` for the Request Method and `FORM` for the Request Format.
    3. Enable the CiviCRM API Format
    4. Add Request Headers to provide authentication with CiviCRM. Out of the box, three are necessary with AuthX.
        1. `Authorization: Bearer **API_KEY**`
        2. `X-Civi-Key: **SITE_KEY**`
        3. `X-Requested-With: XMLHttpRequest`
    5. Under the Request Body choose to Select Fields.
        1. Any normal key field will be directly passed to CiviCRM
        2. Any key that needs pass to CiviCRM in the `json` (v3) or `params` (v4) JSON encoded form value, prepend `json.` or `params.` respectively. For example, to send CiviCRM a first name in the request, create the key `json.first_name`.

[![Gravity Forms Webhook Settings](images/gfsettings.png)](images/gfsettings.png)

### Other settings

[](#other-settings)

Two additional helper settings are added to the form settings.

[![Gravity Forms Form Settings](images/gfformsettings.png)](images/gfformsettings.png)

- **Delete entries after Webhook are completed successfully**: Enabling this setting will delete entries after all Webhooks successfully resolve. Useful for data security.
- **Number of times to try submitting a Webhook**: By default, Gravity Forms will only attempt to submit a Webhooks one time. This setting will allow a Webhook to be tried multiple times.

[![Gravity Forms Form Settings Explanation](images/gfformsettingsfields.png)](images/gfformsettingsfields.png)

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance63

Regular maintenance activity

Popularity3

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.9% 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

Unknown

Total

1

Last Release

314d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/49ef798c46472a4224ac686d224ee867915858ae5325a60f5feee5c1cb833928?d=identicon)[redbeanbananas](/maintainers/redbeanbananas)

---

Top Contributors

[![davidjosephhayes](https://avatars.githubusercontent.com/u/9373380?v=4)](https://github.com/davidjosephhayes "davidjosephhayes (13 commits)")[![KeycapCaper](https://avatars.githubusercontent.com/u/63807493?v=4)](https://github.com/KeycapCaper "KeycapCaper (1 commits)")

### Embed Badge

![Health badge](/badges/blackbricksoftware-gravityforms-civicrm-form-processor/health.svg)

```
[![Health](https://phpackages.com/badges/blackbricksoftware-gravityforms-civicrm-form-processor/health.svg)](https://phpackages.com/packages/blackbricksoftware-gravityforms-civicrm-form-processor)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[illuminate/pipeline

The Illuminate Pipeline package.

9348.3M267](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10533.5M991](/packages/illuminate-pagination)[illuminate/redis

The Illuminate Redis package.

8314.4M363](/packages/illuminate-redis)[illuminate/cookie

The Illuminate Cookie package.

224.5M132](/packages/illuminate-cookie)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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