Setting Up the Mad Mimi Add-On

Setting Up the Mad Mimi Add-On

Pre-RequisitesSetupAdd-On Framework Hooks

Pre-Requisites

Download and install the add-on
A Mad Mimi account

Setup

Log into your WordPress admin dashboard.
On the left side navigation menu, hover over Forms and click on Settings.
From this page, click the Mad Mimi tab.
Enter your Email Address and API Key. Refer to the Obtaining Your Mad Mimi API Key article for instructions.
Click Update Settings. If you』ve entered your account information correctly, you will be notified by green check marks beside each box. If you do not see green check marks, please double check this information and try again.

Once you have entered your API key, you』re ready to begin creating a feed for the Mad Mimi Add-On.
Add-On Framework Hooks
Because the Mad Mimi Add-On is built using the Add-On Framework it also inherits any hooks available in the framework methods it uses such as:

gform_short_slug_field_value for changing a field value before it is passed to Mad Mimi.

Managing Add-On Feeds with REST API v2

Managing Add-On Feeds with REST API v2

Getting FeedsMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample 1Example 2Example 3Getting a Specific FeedMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample 1Getting Feeds for a Specific FormMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample 1Example 2Example 3Adding a FeedMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample RequestExample ResponseAdding a Feed for a Specific FormMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample RequestExample ResponseUpdating a FeedMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample RequestExample ResponsePartially Updating a FeedMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample RequestExample ResponseUpdating Specific Feed PropertiesMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample RequestExample ResponseDeleting a Specific FeedMethodPathRequired PropertiesOptional PropertiesResponseUsage ExamplesExample 1

Getting Feeds
Method
GET
Path
/gf/v2/feeds
Required Properties
There are no required properties.
Optional Properties

include – The ID of the Feed or an array of Feed IDs.
addon – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

Response
The JSON response will contain an array of Feed Objects.
[
{
"id": "1",
"form_id": "0",
"addon_slug": "gravityformscoupons",
"meta": {
"gravityForm": "0",
"couponName": "Military Discount",
"couponCode": "MD10",
"couponAmountType": "percentage",
"couponAmount": 10,
"startDate": "",
"endDate": "",
"usageLimit": "",
"isStackable": "0",
"usageCount": 5
}
},
{
"id": "6",
"form_id": "8",
"addon_slug": "gravityformswebhooks",
"meta": {
"feedName": "My Test",
"requestURL": "www.rocketgenius.com",
"requestMethod": "POST",
"requestFormat": "form",
"requestHeaders": [
{
"key": "gf_custom",
"value": "id",
"custom_key": "MyCustomKey",
"custom_value": ""
}
],
"requestBodyType": "all_fields",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
},
{
"id": "34",
"form_id": "190",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Creation 10",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
}
]

Usage Examples
Example 1
This example shows how you can get all active feeds for all forms.
https://example.com/wp-json/gf/v2/feeds
Example 2
This example shows how you can get specific feeds.
https://example.com/wp-json/gf/v2/feeds?include[0]=1&include[1]=32
Example 3
This example shows how you can get all feeds for a specific add-on.
https://example.com/wp-json/gf/v2/feeds?addon=gravityformsmailchimp
Getting a Specific Feed
Method
GET
Path
/gf/v2/feeds/[FEED_ID]
Required Properties
There are no required properties.
Optional Properties
There are no optional properties.
Response
The JSON response will contain a Feed Object.
{
"id": "1",
"form_id": "0",
"addon_slug": "gravityformscoupons",
"meta": {
"gravityForm": "0",
"couponName": "Military Discount",
"couponCode": "MD10",
"couponAmountType": "percentage",
"couponAmount": 10,
"startDate": "",
"endDate": "",
"usageLimit": "",
"isStackable": "0",
"usageCount": 5
}
}

Usage Examples
Example 1
This example shows how you can get a specific feed, in this case feed ID 1.
https://example.com/wp-json/gf/v2/feeds/1
Getting Feeds for a Specific Form
Method
GET
Path
/gf/v2/forms/[FORM_ID]/feeds
Required Properties
There are no required properties.
Optional Properties

include – The ID of the Feed or an array of Feed IDs.
addon – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

Response
The JSON response will contain an array of Feed Objects for the specified form.
[
{
"id": "30",
"form_id": "190",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "MailChimp Feed 2",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
},
{
"id": "31",
"form_id": "190",
"addon_slug": "gravityformsuserregistration",
"meta": {
"feedName": "User Registration Feed 4",
"feedType": "create",
"username": "1",
"first_name": "1.3",
"last_name": "1.6",
"nickname": "",
"displayname": "nickname",
"email": "2",
"password": "generatepass",
"role": "editor",
"userMeta": "",
"sendEmail": "1",
"userActivationEnable": "0",
"userActivationValue": "email",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
}
]

Usage Examples
Example 1
This example shows how you can get all active feeds for a specific form, in this case form ID 190.
https://example.com/wp-json/gf/v2/forms/190/feeds
Example 2
This example shows how you can get specific active feeds for a specific form, in this case form ID 190.
https://example.com/wp-json/gf/v2/forms/190/feeds?include[0]=31&include[1]=32
Example 3
This example shows how you can get all active Mailchimp feeds for a specific form, in this case form ID 190.
https://example.com/wp-json/gf/v2/forms/190/feeds?addon=gravityformsmailchimp
Adding a Feed
Method
POST
Path
/gf/v2/feeds
Required Properties
Sent as JSON in the request body.

form_id – The ID of the Form the Feed is for.
meta – The feed properties, see the meta property of the Feed Object.
addon_slug – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

Optional Properties
There are no optional properties.
Response
The JSON response will contain a Feed Object.
Usage Examples
Example Request
https://example.com/wp-json/gf/v2/feeds
{
"form_id": "180",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Creation",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
}

Example Response
{
"form_id": 180,
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Creation x",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
},
"id": 39
}

Adding a Feed for a Specific Form
Method
POST
Path
/gf/v2/forms/[FORM_ID]/feeds
Required Properties
Sent as JSON in the request body.

meta – The feed properties, see the meta property of the Feed Object.
addon_slug – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

Optional Properties
There are no optional properties.
Response
The JSON response will contain a Feed Object.
Usage Examples
Example Request
https://example.com/wp-json/gf/v2/forms/180/feeds
{
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Creation",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
}

Example Response
{
"form_id": 180,
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Creation",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
},
"id": 39
}

Updating a Feed
Note: prior to version 2.4.23.4 only the feed meta was updated, now the entire feed is updated.
Method
PUT
Path
/gf/v2/feeds/[FEED_ID]
Required Properties
Sent as JSON in the request body.

form_id – The ID of the Form the Feed is for.
meta – The feed properties, see the meta property of the Feed Object.
addon_slug – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

Optional Properties
Sent as JSON in the request body.

is_active – Boolean indicating if the feed is active or inactive.
feed_order – Integer indicating the order the feed will be displayed in the feeds list for the form. Also applies to submission time feed processing. Not all add-ons support feed ordering.

Response
The JSON response will contain a Feed Object.
Usage Examples
Example Request
https://example.com/wp-json/gf/v2/feeds/39
{
"form_id": "180",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Update",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
}

Example Response
{
"form_id": "180",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Update",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
},
"id": "39"
}

Partially Updating a Feed
Support for patching feeds was added in version 2.4.23.4.
Method
PATCH
Path
/gf/v2/feeds/[FEED_ID]
Required Properties
There are no required properties.
Optional Properties
One or more properties to be updated sent as JSON in the request body.

form_id – The ID of the Form the Feed is for.
meta – The feed properties, see the meta property of the Feed Object. Only meta properties included in the request will be updated. Any properties not included in the request will remain configured.
addon_slug – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.
is_active – Boolean indicating if the feed is active or inactive.
feed_order – Integer indicating the order the feed will be displayed in the feeds list for the form. Also applies to submission time feed processing. Not all add-ons support feed ordering.

Response
The JSON response will contain a Feed Object.
Usage Examples
Example Request
This example shows how to update a feed meta property without having to pass the entire feed.
https://example.com/wp-json/gf/v2/feeds/39
{
"meta": {
"mappedFields_MMERGE4": "3"
}
}

Example Response
{
"form_id": "180",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Update",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "3",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
},
"id": "39"
}

Updating Specific Feed Properties
Support for updating specific feed properties feeds was added in version 2.4.23.2.
Method
PUT
Path
/gf/v2/feeds/[FEED_ID]/properties
Required Properties
There are no required properties.
Optional Properties
One or more properties to be updated sent as JSON in the request body.

form_id – The ID of the Form the Feed is for.
meta – The feed properties, see the meta property of the Feed Object. You must pass all the meta properties, any not included will be deleted.
addon_slug – The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.
is_active – Boolean indicating if the feed is active or inactive.
feed_order – Integer indicating the order the feed will be displayed in the feeds list for the form. Also applies to submission time feed processing. Not all add-ons support feed ordering.

Response
The response will contain a message indicating if the operation was successful
Usage Examples
Example Request
This example shows how to update a feed meta property without having to pass the entire feed.
https://example.com/wp-json/gf/v2/feeds/39/properties
{
"is_active": false
}

Example Response
Feed updated successfully

Deleting a Specific Feed
Method
DELETE
Path
/gf/v2/feeds/[FEED_ID]
Required Properties
There are no required properties.
Optional Properties
There are no optional properties.
Response
The JSON response will indicate if the feed was deleted and will also contain the deleted Feed Object.
{
"deleted": true,
"previous": {
"id": "39",
"form_id": "180",
"addon_slug": "gravityformsmailchimp",
"meta": {
"feedName": "Test API Feed Creation",
"mailchimpList": "b19814053f",
"mappedFields_EMAIL": "2",
"mappedFields_FNAME": "1.3",
"mappedFields_LNAME": "1.6",
"mappedFields_MMERGE4": "3",
"mappedFields_MMERGE5": "",
"mappedFields_MMERGE6": "",
"double_optin": "1",
"markAsVIP": "0",
"note": "",
"feed_condition_conditional_logic": "0",
"feed_condition_conditional_logic_object": []
}
}
}

Usage Examples
Example 1
This example shows how you can delete a specific feed, in this case feed ID 1.
https://example.com/wp-json/gf/v2/feeds/1

Mailchimp Feed Setting Reference

Mailchimp Feed Setting Reference

SummaryFeed SettingsNoteLimitations

Summary

This article references the Mailchimp feed settings. The Creating a Feed for the Mailchimp Add-On article gives an example of a feed and how it』s created.

Feed Settings

SettingDescriptionNameEnter a feed name to uniquely identify this setup.Mailchimp AudienceSelect the Mailchimp audience you would like to add your contacts to.Map FieldMap each of the Mailchimp fields to the desired form field that will contain that information. In Mailchimp these are the fields that display in the user profile information. You can add new fields to the profile under Audience -> Manage Audience -> Settings -> Audience fields and Merge tags. See note 1.

SettingDescriptionGroupsUsed to add users to your Mailchimp groups. See Adding Mailchimp Subscriptions to Groups for more information.Marketing PermissionAllows you to set a condition to opt users into different marketing types. If an existing user is found and already opted-in for a Marketing Permission, they will stay opted-in. See note 2.OptionsIf you select Double Opt-In, then all audience subscribers will be sent a confirmation email via Mailchimp』s service before they are finalized as included in the audience. The Mark subscriber as VIP checkbox sets the VIP flag.Tags Using text and merge tags, you can assign tags to the entered subscriber. Multiple tags can be set as a comma separated list. This new integration with Mailchimp』s tags was launched with Mailchimp Add-On v4.4. For more information on tags, refer to Mailchimp』s documentation.NoteAssign a note to the entered subscriber. This is sent to Mailchimp so the note is added to the member details. This is only visible to the Mailchimp account owner. Supports merge tags.Conditional Logic If unchecked, every successful form submission will be sent to Mailchimp. If you wish to set specific conditions for sending form data to Mailchimp, then check the 「Enable Condition」 box and fill out your required criteria.

Note

Map each of the Mailchimp fields to the desired form field that will contain that information. In Mailchimp these are the fields that display in the user profile information. You can add new fields to the profile under Audience → Manage Audience → Settings → Audience fields and Merge tags.Requires GDPR fields to be enabled for the Mailchimp audience. This is done under Audience → Manage Audience → Settings → Audience name and campaign defaults. Also the audience is required to have at least one member; if the audience does not have any members, add a temporary user (you can delete it after).

Limitations

Once a user has unsubscribed from Mailchimp, they cannot be resubscribed to an Audience through the Mailchimp Add-On and the Mailchimp API. They would only be able to resubscribe using Mailchimp』s subscribe forms. This is a limitation of the Mailchimp API.

Mad Mimi Change Log

Mad Mimi Change Log

1.4 | 2020-09-081.3 | 2020-03-241.2 | 2018-04-091.1 | 2016-08-311.0 | 2015-05-14

1.4 | 2020-09-08

Added support for Gravity Forms 2.5.
Updated the feed name setting for new feeds to include a default value.

1.3 | 2020-03-24

Added translations for Hebrew, Hindi, Japanese, and Turkish.
Fixed PHP 7.4 notices which occur when the API is initializing and the settings are empty.

1.2 | 2018-04-09

Added security enhancements.
Added GPL to plugin header.
Update API library to be a public property.
Updated Plugin URI and Author URI to use https.
Updated strings for translations.
Fixed strings for translations.

1.1 | 2016-08-31

Added feed duplication support.
Added gf_madmimi() for easily getting a Mad Mimi instance.
Added support for delaying feed processing until payment by PayPal Standard is successfully completed.
Added Spanish (es_ES) translation.
Updated feed processing to abort if email is empty or invalid.
Updated API calls to use native WordPress functions.
Fixed a PHP notice on the feeds page for the list name column.
Fixed an issue which could cause an incorrect result to be displayed when validating the API settings.
Fixed a PHP warning for the List setting if no lists were returned by the API.
Fixed an issue with the request failed message if a WP_Error occurs.
Fixed a fatal error when the MadMimi class has already been included by another plugin.

1.0 | 2015-05-14

It's all new!

Managing Add-On Feeds with the GFAPI

Managing Add-On Feeds with the GFAPI

Introductionget_feedsParametersReturnsUsage Examplesget_feedParametersReturnsUsage Examplesadd_feedParametersReturnsUsage Examplesdelete_feedParametersReturnsUsage Examplesupdate_feedParametersReturnsUsage Examplesfeed_existsParametersReturnsUsage Examplesupdate_feed_propertyParametersReturnsUsage Examples

Introduction
The following GFAPI methods are used to manage form Feeds. Each Feed contains the properties which determine if and how the form submission is processed by an add-on.
See the GFAPI article for other available methods.

get_feeds
GFAPI::get_feeds() was added in Gravity Forms version 1.8, it is used to get all feeds which match the given search criteria.
public static function get_feeds( $feed_ids = null, $form_id = null, $addon_slug = null, $is_active = true ) {}
Parameters

$feed_ids null|integer|array
Optional. The ID of the Feed or an array of Feed IDs.

$form_id null|string
Optional. The ID of the Form to which the Feeds belong.

$addon_slug null|string
Optional. The slug of the add-on to which the Feeds belong, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

$is_active boolean
Optional. Default true. Indicates if only active or inactive feeds should be returned. Since 2.4.23.4 null can be used to return both.

Returns

$result array|WP_Error
An array of Feed Objects or a WP_Error instance.

Usage Examples
Getting all active feeds.
$result = GFAPI::get_feeds();
Getting a specific feed.
$result = GFAPI::get_feeds( 1 );
Getting multiple specific feeds.
$result = GFAPI::get_feeds( array( 1, 5 ) );
Getting all active feeds for a specific form.
$result = GFAPI::get_feeds( null, 2 );
Getting all active feeds for a specific add-on.
$result = GFAPI::get_feeds( null, null, 'gravityformszapier' );
get_feed
GFAPI::get_feed() was added in Gravity Forms version 2.4.23.4, it is used to get a specific feed.
public static function get_feed( $feed_id ) {}
Parameters

$feed_id integer
The ID of the feed to retrieve.

Returns

$result array|WP_Error
The Feed Object or a WP_Error instance.

Usage Examples
$result = GFAPI::get_feed( 1 );
add_feed
GFAPI::add_feed() was added in Gravity Forms version 1.8, it is used to add a new feed to the specified form with the given configuration.
public static function add_feed( $form_id, $feed_meta, $addon_slug ) {}
Parameters

$form_id integer
The ID of the form to which the feed belongs.

$feed_meta array
The feed properties, see the meta property of the Feed Object.

$addon_slug string
The slug of the add-on to which the Feed belongs, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.

Returns

$result WP_Error|integer
A WP_Error if an error occurs or the ID of the Feed returned by the database.

Usage Examples
$result = GFAPI::add_feed( $form_id, $feed_meta, $addon_slug );
delete_feed
GFAPI::delete_feed() was added in Gravity Forms version 1.8, it is used to delete a specific Feed.
public static function delete_feed( $feed_id ) {}
Parameters

$feed_id integer
The ID of the Feed Object to be deleted.

Returns

$result boolean|WP_Error
True for success or a WP_Error instance.

Usage Examples
$result = GFAPI::delete_feed( $feed_id );
update_feed
GFAPI::update_feed() was added in Gravity Forms version 1.8, it is used to update the meta for a specific Feed.
public static function update_feed( $feed_id, $feed_meta, $form_id = null ) {}
Parameters

$feed_id integer
The ID of the Feed Object to be updated.

$feed_meta array
The feed properties, see the meta property of the Feed Object.

$form_id integer
The ID of the form to which the feed belongs.

Returns

$result boolean|WP_Error
True for success or a WP_Error instance.

Usage Examples
$result = GFAPI::update_feed( $feed_id, $feed_meta, $form_id );
feed_exists
GFAPI::feed_exists() was added in Gravity Forms version 2.4.24, it is used to check if a Feed exists for the given ID.
public static function feed_exists( $feed_id ) {}
Parameters

$feed_id integer
The ID to be checked.

Returns

$result boolean
Whether or not a Feed Object exists for the supplied ID.

Usage Examples
$result = GFAPI::feed_exists( $feed_id );
update_feed_property
GFAPI::update_feed_property() was added in Gravity Forms version 2.4.24, it is used to update the properties of a specific Feed.
public static function update_feed_property( $feed_id, $property_name, $property_value ) {}
Parameters

$feed_id integer
The ID of the Feed Object to be updated.

$property_name string
The name of the property (column) being updated. Supported: form_id, is_active, feed_order, meta, and addon_slug

$property_value string|integer|array
The new value of the specified property. The meta property can be passed as an associative array or JSON.

Returns

$result boolean|WP_Error
True for success or a WP_Error instance.

Usage Examples
$result = GFAPI::update_feed_property( $feed_id, $property_name, $property_value );
$result = GFAPI::update_feed_property( 1, 'is_active', 0 );

Obtaining Your Mailgun API Key

Obtaining Your Mailgun API Key

When using the Mailgun Add-On in Gravity Forms, you』ll need to be able to authenticate your site with Mailgun. This is done using an API key assigned by Mailgun. In this article, we』ll show you how to obtain your Mailgun API key.

Log into your Mailgun account.
From the top right navigation menu, click on your name and then Security.
Under API Keys, locate the Private API Key field. Click on the eye icon to the right of the field to display your API key.

That』s all there is to it! From here, you can continue setting up the Mailgun Add-On or start sending form notifications using Mailgun.

Mad Mimi Feed Meta

Mad Mimi Feed Meta

IntroductionUsagePropertiesCustom Field Properties

Introduction
The Feed Object meta for the Mad Mimi add-on is an associative array containing the properties which determine how the add-on should process the form submission.
$feed['meta'] = array(
'feed_name' => 'Your Feed Name',
'fields_email' => '2',
'fields_firstname' => '1.3',
'fields_lastname' => '1.6',
'feed_condition_conditional_logic' => true,
'feed_condition_conditional_logic_object' => array(
'conditionalLogic' => array(),
),
);

Usage
We recommend accessing the $feed meta using the rgar() or rgars() functions, e.g.:
$conditional_logic_enabled = rgars( $feed, 'meta/feed_condition_conditional_logic' );

Properties

feed_name string
The feed name which appears on the add-ons feeds tab.

list string
The ID of the Mad Mimi list this feed will add contacts to.

fields_email string
The ID of the field containing the user』s email address. Required.

fields_firstname string
The ID of the field containing the user』s first name.

fields_lastname string
The ID of the field containing the user』s last name.

fields_title string
The ID of the field containing the user』s title.

fields_company string
The ID of the field containing the user』s company.

fields_phone string
The ID of the field containing the user』s phone number.

fields_address string
The ID of the field containing the user』s address.

fields_city string
The ID of the field containing the customer』s city.

fields_state string
The ID of the field containing the customer』s state.

fields_zip string
The ID of the field containing the customer』s zip.

fields_country string
The ID of the field containing the customer』s zip.

custom_fields array
A multidimensional array containing the custom fields to be sent to Mad Mimi. See Custom Field Properties.

feed_condition_conditional_logic boolean
Is the feed condition (conditional logic) setting enabled. Default is false.

feed_condition_conditional_logic_object array
An associative array containing the conditional logic rules. See the Conditional Logic Object for more details.

Custom Field Properties
array(
'key' => 'gf_custom',
'value' => '3.1',
'custom_key' => 'address_one',
)

Each custom field is an associative array containing the following properties:

key string
The custom field key. Value: gf_custom

value string
The ID of the form field or entry meta item containing the value for this custom field.

custom_key string
The custom field name.

Managing Entry Notifications with WP-CLI

Managing Entry Notifications with WP-CLI

Getting Entry NotificationsExamplesParametersSending Entry NotificationsExamplesParameters

By using the CLI Add-On for Gravity Forms, you can easily manage entry notifications using the command line.
Getting Entry Notifications
wp gf entry notification get
Examples

Gets a table containing the form submission notifications for entry 1.
wp gf entry notification get 1

Gets a table containing the payment completed notifications for entry 1.
wp gf entry notification get 1 --event=complete_payment

Gets a list of payment completed notifications IDs for entry 1.
wp gf entry notification get 1 --event=complete_payment --format=ids

Parameters

Argument
Description


The ID of the entry the notifications are for.

[...]
Specific notification IDs to get. If set, this will override the event arg.

[--event=]
The notification event to retrieve.Default: form_submission.

[--format=]
Defines the format in which the notifications will be listed.Accepted values: table, ids, csv, json, yaml, and count.Default: table.

[--raw]
Outputs the raw notification properties as a JSON string.

Sending Entry Notifications
wp gf entry notification send
Examples

Sends the form submission notifications for entry 597.
wp gf entry notification send 597

Sends the payment completed notifications for entry 597.
wp gf entry notification send 597 --event=complete_payment

Sends the notifications for entry 597 which match the specified IDs.
wp gf entry notification send 597 574ff8257d864 596e53f8104ed

Parameters

Argument
Description


The ID of the entry the notifications are to be sent for.

[...]
The IDs of one or more specific notifications to be sent. If set, this will override the event arg.

[--event=]
The event to send the notifications for.Default: form_submission.

List Field CSS Selectors

List Field CSS Selectors

ContainerTable ContainerHeaders (Labels)ColumnsRowsOdd RowsEven RowsAll rowsCellsIcons ContainerAdd/Remove Icons

Container
(div) wraps the list field HTML table

example: List field container (div) – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_listbody .gform_wrapper .gform_body .gform_fields .gfield .ginput_list {border: 1px solid red}

example: advanced field container (div) – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list {border: 1px solid red}

example: advanced field container (div) – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield .ginput_list {border: 1px solid red}

Table Container
List field HTML table structure that contains the list field inputs

example: List field table – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_listbody .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list {border: 1px solid red}

example: advanced field container (div) – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list {border: 1px solid red}

example: advanced field container (div) – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield .ginput_list table.gfield_list {border: 1px solid red}

Headers (Labels)
Targets the individual HTML table headers (labels)

example: odd-numbered column (colgroup) – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield div.ginput_container_list table.gfield_list thead th {color: red}

example: odd-numbered column (colgroup) – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield div.ginput_container_list table.gfield_list thead th {color:red}

example: odd-numbered column (colgroup) – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield div.ginput_container_list table.gfield_list thead th {color: red}

Columns
Targets the individual HTML table columns (colgroups) – useful for specifying sizes or creating alternating-color column styles

example: odd-numbered column (colgroup) – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list colgroup col.gfield_list_col_odd {border: 1px solid red}

example: odd-numbered column (colgroup) – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list colgroup col.gfield_list_col_odd {border: 1px solid red}

example: odd-numbered column (colgroup) – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list colgroup col.gfield_list_col_odd {border: 1px solid red}

example: even-numbered column (colgroup) – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list colgroup col.gfield_list_col_even {border: 1px solid red}

example: even-numbered column (colgroup) – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list colgroup col.gfield_list_col_even {border: 1px solid red}

example: even-numbered column (colgroup) – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list colgroup col.gfield_list_col_even {border: 1px solid red}

example: targeting a specific column (colgroup) by ID – applies just to list 2, column number 1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list colgroup col#gfield_list_2_col1 {border: 1px solid red}

Rows
Odd Rows
Targets the individual HTML table rows – useful for specifying sizes or creating alternating-color row styles

example: odd-numbered row – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr.gfield_list_row_odd {border: 1px solid red}

example: odd-numbered row – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr.gfield_list_row_odd {border: 1px solid red}

example: odd-numbered row – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list tbody tr.gfield_list_row_odd {border: 1px solid red}

Even Rows

example: even-numbered row – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr.gfield_list_row_even {border: 1px solid red}

example: even-numbered row – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr.gfield_list_row_even {border: 1px solid red}

example: even-numbered row – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list tbody tr.gfield_list_row_even {border: 1px solid red}

All rows
If you want to target all rows with the same CSS you can use the following:

example: applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr.gfield_list_group {border: 1px solid red}

example: applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr.gfield_list_group {border: 1px solid red}

example: applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list tbody tr.gfield_list_group {border: 1px solid red}

Cells
Targets the list field HTML table cells

example: list table cell – applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr td.gfield_list_cell {border: 1px solid red}

example: list table cell – applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr td.gfield_list_cell {border: 1px solid red}

example: list table cell – applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list tbody tr td.gfield_list_cell {border: 1px solid red}

Icons Container
Targets the table cell that contains the icons to add or remove rows.

example: applies to all forms
1body .gform_wrapper .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr td.gfield_list_icons {border: 1px solid red}

example: applies just to form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr td.gfield_list_icons {border: 1px solid red}

example: applies just to specific container (based on the unique parent element ID – replace 「XX_X」 with your actual element ID)
1body .gform_wrapper .gform_body .gform_fields #field_XX_X.gfield ginput_list table.gfield_list tbody tr td.gfield_list_icons {border: 1px solid red}

Add/Remove Icons
Targets the icons to add or remove rows.

example: hide add row icons in form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr td.gfield_list_icons .add_list_item {display:none;}

example: hide remove row icons in form ID #1
1body #gform_wrapper_1 .gform_body .gform_fields .gfield .ginput_list table.gfield_list tbody tr td.gfield_list_icons .delete_list_item {display:none;}

Mailgun Change Log

Mailgun Change Log

1.3.11.3 | 2020-09-291.2 | 2020-04-301.1 | 2018-11-151.0 | 2018-11-05

1.3.1

Fixed an issue where the links in the notification page were not redirecting the user to the correct mailgun documentation pages.

1.3 | 2020-09-29

Added support for Gravity Forms 2.5.

1.2 | 2020-04-30

Added translations for Hebrew, Hindi, Japanese, and Turkish.
Added support for sending result notes.
Added gform_mailgun_send_email_failed hook to allow developers to take additional actions when email sending fails.
Fixed a PHP fatal error that occurs on the notification configuration page when the API request fails.
Improved logging to include notification id, notification name, and entry id in the sending process.
Fix merge tags not being replaced in the From Name.

1.1 | 2018-11-15

Add support for choosing Mailgun regions.
Fix issue with merge tags not being replaced in BCC and Reply To headers.

1.0 | 2018-11-05

It's all new!