Save Button

Save Button

IntroductionExample

Introduction
The save type field, part of the Settings API, renders a submit type input.
Example
The following example renders a section with a text input and a save button with custom error and success messages.
1234567891011121314151617array(    'title'  => esc_html__( 'This is the title for Section 1', 'sometextdomain' ),    'fields' => array(        array(            'type'  => 'text',            'name'  => 'mytextfield',            'label' => esc_html__( 'This is my text field', 'sometextdomain' ),        ),        array(            'type'     => 'save',            'messages' => array(                'error'   => esc_html__( 'Settings could not be updated.', 'sometextdomain' ),                'success' => esc_html__( 'Settings have been updated.', 'sometextdomain' ),            ),        ),    ),),
The code above will render a layout similar to the following:

Sending Product Information to Google Sheets using Zapier (v3 and earlier)

Sending Product Information to Google Sheets using Zapier (v3 and earlier)

DescriptionBackgroundRequirements for this ExampleStep-By-Step

Superceded: This technique applies to Gravity Forms Zapier Add-On version 3 and earlier.

Description

This step-by-step example shows you how to send a list of product information, as collected from a form, to a Google spreadsheet, using the Zapier Add-On.

Background

As of version 3 of the Zapier Add-On, product information is sent to Zapier as an array, use of which is what this example demonstrates. This change allows you to use the option in Zapier that creates new rows with line item support.

In addition, the list data is also still being sent as a serialized string, simply to maintain backwards compatibility.

Requirements for this Example

A form that has product fieldsGravity Forms Zapier Add-On v3 or higher, available from the Downloads page for appropriately licensed usersA Zapier accountAccess to Google Docs

Step-By-Step

Below are the steps to follow so that product data will be sent to a Google spreadsheet as separate line items.

While viewing the Form, mouse-over the Settings link towards the top and select Zapier.

Click the Add New button to add a new feed.Name your 「Zap」.Open a new browser window and log into your Zapier account.Click the Make a Zap! button towards the top.The option to Choose a Trigger App appears. Select Gravity Forms as the application.Choose New Form Submission as the trigger and click the Save + Continue button.At this point, you are presented with a URL for the new Zap. Copy this URL and return to the window for your Form』s Feed Setup.Paste the URL into the Webhook URL field.Click the Save Zapier Feed button.

Return to the browser window for setting up the Zap in Zapier.Click the Ok, I did this button.The next screen displays sample data of how a submission from your Form would appear. Click the Continue button.The option to Choose an Action App displays. Select Google Sheets as the application.Select the option Create one or more new rows in a specific spreadsheet (with line item support). If you do not see that option, you may have to reveal it by expanding your choices with the 「show less common actions」 link. Click the Save + Continue button.Connect to the Google Account where your spreadsheet exists and click Save + Continue. If you have not already created a spreadsheet for the product information, do so now because it is needed in the next step.Select the spreadsheet and the worksheet.The row headers in the spreadsheet now display. The Product Data to use for list items displays in the field list with Products/ pre-pending the data. Because Zapier 3.0 is backwards compatible, you will still see individual fields for the product information. These do not work as line items and can be ignored. Map the product fields to your row header. If you notice data you didn』t include in your spreadsheet, you can simply add a new header to your spreadsheet and click the Refresh Fields button and the new row will be pulled in for you to map. Click the Continue button once your mapping is complete.At this point, a test row may be sent to your spreadsheet for your review. You may skip this step if you wish.Click Finish.Name your zap and turn it ON.Your Zap is now ready to process form submissions to populate your spreadsheet.

rgget()

rgget()

DescriptionUsageParametersExamples

Description
Obtains GET variables from the URL.
Usage
1rgget( $name, $array );
Parameters

$name string
The query string key that you want to get.

$array array
An array containing variables. Defaults to all GET variables.

Examples
12// Gets the current form ID on the Edit page.$form_id = rgget( 'id' );

Setting Up a Stripe Compatible Form

Setting Up a Stripe Compatible Form

Pre-RequisitesIntroductionAvailable Payment MethodsCreate Your FormSummaryNotes

Pre-Requisites

Refer to the article setup the Stripe Add-On.

Check out our Feed Settings Reference for a full list of feed related settings.
Introduction
The next step in integrating the Stripe Add-On is to create the form you are going to use. This can include existing forms. To be compatible with the Stripe Add-On, your Gravity Form must contain a Pricing field and a Credit Card field (or a Stripe Card field if using version 2.6+). However, you may want to include basic payment information capturing fields as well, such as Name, Email, Address, etc.
Available Payment Methods
With the Stripe Add-On, you have three choices as to how to collect payment information from your customers (assuming you are using the most current version of our add-on). Refer to this article for more information on the payment collection methods offered within the settings of the Stripe Add-On.
Create Your Form

From the left-hand navigation menu of your WordPress admin dashboard, hover over Forms and click on New Form.
Enter a Form Title and Form Description. Click Create Form. Alternatively you can hover over Forms and click on Forms to choose an existing form from the list.
Add fields for capturing standard payment information. We included the Name, Address, and Email fields to get basic information from customers. Note: If you would like to receive receipts for Stripe transactions, be sure to add the Email Field.

Add the required fields to your form and configure them as needed. These include Pricing fields of your choice and the Credit Card field (or Stripe Card field if using Stripe version 2.6+). In the example below, the Shirt, Shipping, and Total serve as the Pricing fields.

The next step depends on the Payment Collection Method chosen during setup.
Note: The Payment Collection Method is only available in Stripe version 2.6 and above.

Gravity Forms Credit Card Field – Expand the Pricing Fields section and add the Credit Card field to your form to collect payment information via the standard Gravity Forms Credit Card field.

Stripe Credit Card Field (Elements, SCA-ready) – Expand the Pricing Fields section and add the Stripe Card field to your form to collect payment information via the Stripe Credit Card field. If you have another Payment Gateway add-on installed, the Gravity Forms Credit Card field is still available in case you are allowing users to choose from a list of payment processors, such as Stripe and Authorize.Net (the standard Credit Card field is needed for Authorize.Net』s processing). Conditional logic can be used to show/hide the Credit Card field depending on the payment processor selection.
Note: This field is only available if the Stripe Credit Card Field (Elements) option was selected as the Payment Collection Method in the Stripe Settings during setup.

This field will add the Card Details and Cardholder Name inputs. The Card Details input collects the Credit Card Number, Expiration Date, CVC, and Zip/Postal Code. This part of the Stripe Card field is hosted on Stripe』s servers. The Cardholder Name is a part of your form and the data is not stored.

There are a few customization options that can be applied to this field. Click the field to expand it and go to the General tab. Under the Sub-labels section, the text displayed for Card Details and Cardholder Name can be updated. The Cardholder Name field can also be hidden.

Stripe Payment Form (Stripe Checkout, SCA-ready) – This option loads a page hosted on Stripe』s servers to collect payment information so a credit card field should not be added to the form. However, you will notice that the Gravity Forms Credit Card field is available for use if you have more than one payment gateway add-on installed, such as Stripe and Authorize.Net (the standard Credit Card field would be needed for Authorize.Net』s processing). Conditional logic can be used to show/hide the Credit Card field depending on the payment processor selection.
 Stripe Checkout supports 3D Secure and Apple Pay.
Note: This page will only display on form submission if the Stripe Payment Form (Stripe Checkout, SCA-ready) option was selected as the Payment Collection Method in the Stripe Settings during setup.

Click the Update button to save the form.
Once you have completed your form, select Preview in the top navigation bar under Form Editor. Your form should look similar to this:

If your form does not look exactly like the image above, don』t panic. Every form will vary depending on which fields were selected and what order they were added to the form. As long as you have pricing fields of some sort and a credit card field, your form is valid for integration.

Summary
Now that you have created your form for Stripe, visit Creating a Feed for the Stripe Add-On for the next step in the integration process. This is a critical step. If it is not completed, nothing is sent to Stripe for processing.
If you need help with creating forms, visit Creating a Form for more information.
Notes

When using Page fields to create a multi-page form, the Credit Card field should be located on the last page of the form.
If you delete the Credit Card field from your form, the Stripe feeds will automatically deactivate to prevent them running during form submission, which as the field is missing, would cause a validation error due to Stripe being unable to capture the card details.
If a form has the Credit Card or Stripe Card field on it, these will override the payment collection method of Stripe Payment Form (Stripe Checkout)
If a form has both the Credit Card and Stripe Card fields on it, and Conditional Logic is not used to show/hide one of them, the Stripe Card field takes precedence. Please note: a form should not be created where multiple credit card fields are visible on form display.

Security Best Practices

Security Best Practices

IntroductionWeb Server and WordPress SecurityWeb Server and WordPress ConfigurationSecurity Plugins and ServicesUpdatesGravity Forms Security FeaturesAutomatic and Background UpdatesFine-Grained User PermissionsRequire LoginAnti-Spam ProtectionFile Upload SecurityLimit file uploads to logged in usersFile Upload Field Settings – Allowed File ExtensionsThe Gravity Forms Uploads FolderField Upload Field Merge TagsChanging the Gravity Forms Upload PathThe .htaccess FileThe File Upload Field ButtonSecure Download LocationsForced DownloadsSanitization of Data SubmittedSensitive DataDynamic PopulationEntriesThe JSON REST APIContent Security PolicyVerifying the integrity of the source code filesReporting Security Vulnerabilities

Introduction

When planning an installation of Gravity Forms there are many aspects of security that need to be considered very carefully. The advice and best practices in this section is to help site owners and administrators to understand the issues and learn how to adjust the security features according to their needs.

This information complements the Gravity Forms Security Whitepaper.

Web Server and WordPress Security

Gravity Forms is only as secure as the server it』s installed on so it makes sense to begin your security assessment and configuration by reviewing the configuration of the system, the Web server and WordPress.

Web Server and WordPress Configuration

If you are running your own Web server make sure your server is running the latest version of PHP and the web server and consider forcing HTTPS/SSL on all pages. Configure regular backups and keep all your plugins up-to-date at all times. Follow the advice in the WordPress documentation on hardening WordPress. It contains some excellent suggestions on how to secure the web server and how to handle risk mitigation in the event of a compromise.

You may also want to consider managed hosting which can handle much of this for you. For example:

WP EnginePagelyKinsta

Security Plugins and Services

There are a number of plugins and services that can help improve the security of your site. For example, some popular plugins are:

iThemes SecurityWordfenceAll In One WP Security & FirewallBulletProof Security

However, these plugins do require some level of understanding so you may need to get someone qualified to help you set one up.

The following security services provide a firewall, a first line of defense, between attackers and your server. They』re an excellent way to prevent attacks before they even hit your server:

SucuriCloudFlareIncapsula

Updates

We do recommend that customers keep WordPress and all of their plugins and themes updated at all times as part of a regular maintenance plan. Not doing so is a serious security risk for your site. We also recommend that customers remove Gravity Forms from their sites if they no longer wish to keep their license active.

Gravity Forms Security Features

Once you』ve locked down the security on your server and in WordPress you』ll want to take a look at the security features that Gravity Forms offers and adjust them according to your needs.

Automatic and Background Updates

Administrators see a notification on the WordPress dashboard to upgrade when a new release is available. If administrators have automatic background updates enabled, Gravity Forms will be updated automatically without the site owner needing to do anything on their end, and the update will install automatically. This is enabled by default on all new installations from version 1.9.2 onward.

Site owners can opt to remove automatic background updates through a simple change in the Gravity Forms settings or WordPress configuration file, but keeping the functionality is strongly recommended.

Automatic background updates will only occur for important bug fixes and security releases, not for major version releases.

Fine-Grained User Permissions

When giving access to users it』s not necessary to give them permissions to perform all the functions in Gravity Forms. You can control exactly who can do what by assigning capabilities to user roles.

As a rule, it』s good practice to assign only the capabilities needed for the role and no more.

Roles and capabilities are a security feature of WordPress and you can read more about them in the WordPress documentation.

Although capabilities are an important part of WordPress security there』s no way to manage them without a plugin. Fortunately, there are a number of plugins that can do this. One that we do recommend is the Members plugin.

Require Login

Gravity Forms can be configured to be displayed only to logged in users. If this form setting is enabled then a message will be displayed to anonymous users. These forms are protected by special security tokens called nonces that get refreshed every 12 hours so it』s important that these pages which require login are not cached otherwise the submissions will fail. The default settings for most caching plugins will allow this so it should not be an issue.

Anti-Spam Protection

Spam is a special sort of security issue. Mostly it』s just annoying but it can become a serious issue if it goes unchecked. Gravity Forms provides three ways to help combat spam:

The honeypot form setting activates a common technique to trick bots into revealing themselves. It』s generally a good idea to have this setting activated for all forms.Akismet plugin integration.CAPTCHA field. This will display a field which requires the user to prove they』re human before they』re allowed to submit the form.

File Upload Security

We』re sometimes asked about the security around the file upload feature. Files can only be uploaded to the server if there』s a file upload field on an active form. If no active forms have a file upload field then no files can be uploaded to the server.

Limit file uploads to logged in users

If possible, set your form to require login. This will ensure that file uploads are only performed by authenticated users. If requiring login is not an option for you then please read the rest of this section carefully.

File Upload Field Settings – Allowed File Extensions

When a file upload field is added to a form make sure you configure the 「allowed extensions」 setting to be as restrictive as possible. There are certain extensions that Gravity Forms will always block to protect from attacks but it』s good practice to limit the extensions to the file extensions you expect to receive.

The Gravity Forms Uploads Folder

Gravity Forms creates a subfolder structure in the WordPress uploads root which is used to save uploaded files. Files are stored in folders with unique names created with the same algorithm WordPress uses (salted HMAC-MD5) and are impossible to crack with brute force. A folder containing the files for the form will have a path similar to this:/path/to/wordpress/wp-content/uploads/gravity_forms/82-ea1cf844318d032fd7e8fa8w1dacdfbe

You will notice empty index.html files in all of the subfolders. The purpose of these files is to prevent directory listings appearing in search engines for Web servers that are poorly configured. Please don』t remove these files, they are there to protect you.

Field Upload Field Merge Tags

Files are safe as long as the folder name is not shared for that form. This means merge tags can be used for notifications to administrators however, if files are confidential, it』s not safe to use file upload merge tags in confirmations or notifications to non-administrative users.

Changing the Gravity Forms Upload Path

You may wish to increase the security of your uploaded files by changing the place they』re stored to a different place on the server. You can do this by using the gform_upload_path filter. If you do this, you』ll need to ensure that the Web server has the appropriate permissions to read and write to that folder. You could also put the files in a different server entirely using the gform_after_submission filter.

The .htaccess File

In the root of the Gravity Forms uploads folder, an .htaccess file will be generated which, for most servers, disables PHP from being parsed within the subfolder structure. This .htaccess file is written with the most common server configurations in mind but you may need to tweak it or even remove it completely by using the gform_upload_root_htaccess_rules filter. This filter returns each of the lines of the file in an array. For example, to prevent the .htaccess file from being written use the following line:

add_filter( 'gform_upload_root_htaccess_rules', '__return_false' );

Please bear in mind though that this file is there to protect your server, so the filter should only be used if you』re seeing an error. Please consult your server administrator or get in touch with support before using this filter.

The File Upload Field Button

Gravity Forms allows users with permissions to edit forms to add File Upload fields to forms. If you』d like to remove this field from the toolbox this can be easily achieved by adding a snippet of code. Check out the documentation on the gform_add_field_buttons filter for further details and sample code.

Secure Download Locations

By default, file download URLs will be obscured. This ensures that an individual cannot determine where the file is stored on the server.

If you need to turn secure file downloads off (not recommended), the gform_secure_file_download_location filter can be used.

The gform_require_login_pre_download filter can be used to require the user be logged in before the download URL will allow access to the file.

The gform_permission_granted_pre_download filter can be used to perform custom logic, such as user capability checks, to determine if the download URL will allow access to the file.

Check out the Troubleshooting Issues with Download Links if you run into issues with any of the above filters.

Forced Downloads

Gravity Forms downloads can be forced, preventing it from being opened inside the browser. For more information, see the File Upload field merge tag modifiers.

Sanitization of Data Submitted

Field values are sanitized by WordPress core functions during form submission and escaped on output.

Sensitive Data

Dynamic Population

Pages containing forms should be excluded from caching to prevent populated forms being cached and displayed to others.

If you have a form that will be populated with personal data (names, email addresses etc.) consider enabling the 「Require user to be logged in」 setting.

Entries

The entry data is not encrypted. This means you should not use Gravity Forms to store very sensitive data like credit card details or passwords that could result in serious issues in the event of a data breach.

The JSON REST API

Gravity Forms provides an API which can be activated by administrators on the settings page.The API provides two methods of authentication

For WordPress plugins and themes running in the same installation: WordPress cookie authentication.For external clients: signature authentication.

Cookie authentication is the basic authentication method included with WordPress. When users log in, this sets up the cookies, so plugin and theme developers need only to have a logged-in user.

The Gravity Forms Web API uses nonces in addition to authentication to avoid CSRF (Cross-Site Request Forgery) issues. This prevents other sites from forcing you to perform actions without explicitly intending to do so.

All requests from external applications are authenticated by checking an expiring signature. This is similar to the approach used by Amazon to secure access to their S3 Storage API. Once authenticated, standard WordPress capability-based authorization is used to ensure that the API request is allowed to be fulfilled.

If you』ve activated the Web API, make sure the private key is secure and strong. Create a dedicated user account for the API and assign it with the lowest privileges possible.

For further information on how to implement authentication in an API client, please consult the documentation for the Web API.

Content Security Policy

Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (XSS) and data injection attacks. These attacks are used for everything from data theft to site defacement to the distribution of malware.

To enable CSP, all script tags must contain a nonce attribute to be allowed to execute. As of Gravity Forms 2.5.8, script tags for the form inline scripts are now generated by WordPress 5.7+, which makes it possible to use the wp_inline_script_attributes filter to add attributes to the tag, such as the nonce required by CSP. Refer to this WordPress core team post for more details.

Verifying the integrity of the source code files

If you』re concerned that your files may have been tampered with, you can check by comparing the md5 checksums for each of the files. Checksums can be checked using the Gravity Forms CLI add-on. If you need the checksum file for a previous version, please get in touch with support and we』ll send it to you.

To verify the checksum, be sure you have the CLI add-on (and WPCLI, of course) installed and run the following command:

wp gf tool verify-checksums

Reporting Security Vulnerabilities

Security vulnerabilities in all software are inevitable and we do our best to ensure that patches are developed, tested, released and announced as quickly as possible after they』ve been discovered. Full details are made available to customers and other trusted parties on request.

On occasion, security researchers have contacted us to disclose a security vulnerability. In these cases, it』s understandable that the researcher might want to publish details of the discovery themselves. We do expect researchers to respect the principles of responsible disclosure and to work with us to coordinate the content and timing of the public disclosure so customers are given a reasonable opportunity to update their sites.

If you have discovered a vulnerability in one of our products we want to hear from you as soon as possible. Please gather as much information together as you can so we can work quickly to address it. Here』s a checklist of the details we』d like to see.

Severity (high, medium, low)Vulnerability Type: e.g., DoS, Overflow, XSS, CSRF, etcExploitation Requires Authentication?: yes/noVersion(s) of Gravity Forms (or Add-On) affectedA description of the vulnerabilityDo you have reason to believe the vulnerability is being exploited?Are details of an exploit publicly available? If so, please provide us with a URL.What is the potential impact? How do you envisage it being used in an attack scenario?DREAD score, if known.CVE Identifier / Reference / Advisory Number, if applicable.If you wish to be credited for the responsible disclosure in the release announcement and the change log, please let us know. If you plan to disclose details of the vulnerability, please do let us know so we can coordinate the timing of the disclosure together.Any additional comments.

If you are a customer please open a support ticket as soon as possible and make it clear in the subject that your are reporting a security vulnerability.

If you are not a customer send all the details to [email protected]. We have developers in a few time zones so don』t assume you have to leave it till the morning.

We』ll acknowledge receipt as soon as we』ve read it. If confirmed we』ll plan a patch and let you know when we plan to release it.

RG_CURRENT_VIEW

RG_CURRENT_VIEW

DescriptionUsagePlacement

Description
Defines the current view within Gravity Forms. If the view from the querystring is set, that string is returned, otherwise false is returned.
Note: This constant is used in legacy versions of Gravity Forms, meaning before the database schema change in version 2.3. Later versions simply use the code below to get the current view.
1rgget( 'view' )
Usage
1define( 'RG_CURRENT_VIEW', GFForms::get( 'view' ) );
Placement
This constant is set in the file gravityforms.php.

Creating a Feed for the Trello Add-On

Creating a Feed for the Trello Add-On

SummaryCreate a FeedFeed Settings Screen

Summary
Before the Trello Add-On can be used with Gravity Forms, you will first need to create a feed. A feed simply allows form submission data to be sent to another source. In this instance, form data being sent to Trello.
Create a Feed
To create a feed to Trello using the Trello Add-On for Gravity Forms, do the following from your WordPress Admin Dashboard:

Click on Forms in the left side menu.
Select the form that you want to use with Trello.
Once within your desired form, hover over Settings and click on Trello.
Click Add New to create a new feed. You will be presented with the Trello feed settings screen.

Feed Settings Screen
The following fields are available within the settings screen. Refer to the settings screenshot below.

A Feed Name is required. It is only used for identification and will not be shown anywhere other than your feed listing.
Select the Trello Board that you would like to use from the Trello Board dropdown.
Once the board is selected, the Trello List option will appear. Select the Trello list that you would like to add submitted items to.
After selecting the Trello List, the Card Settings will appear. First is the Name field which is the name of the Trello card.
The Description field is the description of the Trello card. The Name and Description fields accept merge tags to dynamically generate content.
The Due Date field determines how many days from submission of the form the newly created task will be due. It accepts only numerical values.
The Labels field allows you to color code the newly created list item. Use the checkboxes to select any color labels you would like to be added to the item.
The Members option determines which team members will be assigned to the newly created item within Trello.
The Attachments option allows the user to attach a file to the created card.
Conditional Logic: If unchecked, every successful form submission will be sent to Trello. If you wish to set specific conditions for sending form data to Trello then check the 「Enable」 box and fill out your required criteria.
Click the Update Settings button to save your options.

Save and Continue

Save and Continue

SummaryHow Save and Continue WorksEnabling Save and ContinueConfirmations/NotificationsMerge Tags{save_email_input}{save_email}{save_link}{save_url}{save_token}Save and Continue Link Recovery

Summary

Save and Continue functionality is a critical feature that many individuals rely on when building large forms. By utilizing Save and Continue functionality, users are able to save their place and come back to the form without the need to start over again. In this article, we will show you how to use the Save and Continue functionality within Gravity Forms.

How Save and Continue Works

The Save and Continue functionality within Gravity Forms will create a link for continuing the form at a later date. Upon clicking the link in the form, the user will be presented with a custom link to the current state of their form submission, with the option of sending the link via email.

Links created will last 30 days. After that period, the link will no longer be accessible. To override this, you can utilize the gform_incomplete_submissions_expiration_days filter.

Note: If you are handling sensitive data, be sure that you have SSL (HTTPS) enabled and running on your site. The URL generated is accessible to anyone who has it, and the URL can be used to decrypt the saved details within the database. Without encryption, it』s possible that someone could access the partially submitted data as well as continue the submission of it.

Note: Single File Upload fields will not preserve any file added prior to the Save and Continue action. This is because single file fields are not validated as non-malicious until form submission is submitted. Thus when Save and Continue is used, any single file uploads attempted will be cleared and not preserved by the link. This behavior does not exist with Multi-File Upload fields, as they validate uploaded files at the time of upload, not form submission.

Note: When using a List field, the column names must be unique or the data will not save when using Save and Continue.

Enabling Save and Continue

First, access the form that will utilize the Save and Continue functionality. This can be done by clicking on Forms on the left side of your WordPress admin, then clicking on the form that you want to enable Save and Continue on. Next, access the form settings for the form by clicking on Settings at the top of the form editor. Within the form settings page, you should see an option labeled Save and Continue. Simply enable the checkbox to allow Save and Continue functionality within the form. Upon enabling Save and Continue, an additional field will be available to change the link text. If you would like to change the text content of the Save and Continue link, you can enter your new text here.

Of course, don』t forget to save your settings when complete.

Confirmations/Notifications

Upon enabling the Save and Continue option, additional confirmations and notifications are created. To change any notifications or confirmations related to the Save and Continue link, access the new items as you normally would with other notifications or confirmations.

Save and Continue Confirmations

Save and Continue Notifications

Due to the Save and Continue feature using its own confirmations and notifications that are independent of any existing items, you will need to modify these independently. Also note that if you disable the Save and Continue feature, the notifications and confirmations that were automatically created will be deleted.

Merge Tags

{save_email_input}

Outputs the input field that is used for sending the continue link to an address. A custom validation message, as well as button text can be passed.

Example

{save_email_input: button_text="Send the link to my email address" validation_message="The link couldn't be sent because the email address is not valid."}

{save_email}

The email address that the saved partial input has been sent to.

{save_link}

This outputs the Save and Continue link as a clickable link. For use as part of the content for the default Save and Continue Confirmations and Save and Continue Email only.

{save_url}

This outputs the Save and Continue URL only. For use as part of the content for the default Save and Continue Confirmations and Save and Continue Email only.

{save_token}

The token generated.

Save and Continue Link Recovery

Save and Continue links are stored in a separate database table, so they are not accessible from anywhere in the WordPress admin dashboard. If you have the Partial Entries add-on installed and enabled, links can be recovered using the partial entries listing.

Generating Your SendGrid API Key

Generating Your SendGrid API Key

To use the SendGrid Add-On, you』ll need to have your SendGrid API key so SendGrid will know which account is yours. In this article, we』ll show you how to get your SendGrid API key.

Log into your SendGrid account.
From the left side menu, click on Settings, then on API Keys.
Click the Create API Key button on the top-right of the page to create a new API key. A new screen will appear.
Inside the API Key Name field, enter a name for your API key. Something like Gravity Forms is a good option.
In the API Key Permissions section, select either Full Access or Restricted Access. If you decide to restrict access, be sure that the key has access to the Mail Send option.
Click the Create & View button. You will be presented with your SendGrid API key.
Take note of the SendGrid API key you』ve been provided. You will need it for the next steps in setting up the SendGrid Add-On. (Note: For security purposes, SendGrid does not allow the key value to be displayed for existing API keys.)

Now that you have your API keys, you』re ready to continue setting up the SendGrid Add-On or start sending form notifications using SendGrid.

rgobj()

rgobj()

DescriptionUsageParametersExamplesSource Code

Description
Gets a method within an object.
Usage
1rgobj( $obj, $name );
Parameters

$obj object
The object that you want to access.

$name string
The method within the object that you want to access.

Examples
1234// Returns the return value of _object->method_.$obj = 'object';$name = 'method';rgobj( $obj, $name );
Source Code
This function is located in forms_model.php