Your account
Sign into your account
- Members can access their accounts from https://happyforms.io.
- Click the Sign in link in the top right part of the page.
- Sign in to your account using a sign-in link or use a password.
Change your account name, email, or password
- Sign in to your account.
- Enter your desired name, email, and password at the popup account screen.
- Click the Update your Profile button to save the changes.
Update your credit or debit card details
- Sign in to your account.
- Head to Menu → Add a card screen.
- Click Enter a card instead.
- Enter your card details.
- Click the Add a card button to save the changes.
Nailing the basics
Install the plugin
- Log in to your WordPress admin dashboard.
- Head to Plugins → Add new screen.
- Click the Upload plugin.
- Click Choose file and select the plugin file from your computer.
- Once installed, hit the Activate plugin button.
Register the plugin
- Head to Forms → All forms screen.
- A popup will appear if you’re unregistered.
- If you already have the registration key, just click the Jump ahead link and proceed to step 6.
- Otherwise, enter the email address connected with your Happyforms account and hit Send registration key.
- Copy the registration key from your email inbox.
- Enter your key in the Registration key input field and click the Register button.
Turn on/off the plugin’s automatic updates
- Head to Plugins → Installed Plugins screen.
- Tick the checkbox beside the Happyforms plugin.
- In the Bulk actions dropdown, select Enable/Disable Auto-updates.
- Click the Apply button.
Check the plugin’s version
- Head to Plugins → Installed Plugins screen.
- The version number is listed next to the plugin’s name.
Add a form to a post, page
- Head to Edit Post/Edit Page screen.
- Click the Block inserter icon (+).
- Search for the Form block and add it to your post/page.
- Once added, select the form you’re going to add in the dropdown.
- Hit the Insert button.
- Click the Publish/Update button to save the changes.
Remove a form from a post, page, or template
- Head to Edit Post/Edit Page screen.
- Click for the form block you’re going to delete.
- Click on more options (three dots).
- Click Remove Forms.
- Click the Publish/Update button to save the changes.
Import a form
- On your WordPress admin dashboard, head to Forms → Import.
- Click Choose file and select the form (.xml) file from your computer.
- Click Upload file and import.
Export a form
- On your WordPress admin dashboard, head to Forms → Export screen.
- Under Choose what to export, choose Forms.
- Select the form you want to export from the Forms dropdown.
- Click Download Export File.
Set user role capabilities
- Head to Forms → Settings screen.
- Expand the Role Capabilities section.
- Tick the checkbox beside the role that you want to give access to.
- Select which sections you want the role to have access to.
- Click Save Changes to save the changes.
Delete the plugin
- Head to Plugins → Installed Plugins screen.
- Click Deactivate on the plugin that you want to uninstall.
- Hit the Delete button, and click Ok in the popup.
Getting to know forms
Add a new form
- Head over to Forms → Add New. This brings up the form builder.
- Start by adding a title and some fields to your forms.
- Hit the Save button to save the changes.
Edit an existing form
- Head to Forms → All Forms screen.
- Click on the name of the form to open up the form builder.
- Hit the Update button once done editing the form.
Duplicate an existing form
- Head to Forms → All Forms screen.
- Hover over the form you want to duplicate, and a hover menu will appear below the name.
- On the hover menu, click Duplicate.
Trash a form
Only forms without submissions can be trashed. If the form has submissions, those should be trashed first continue with these steps.
- Head to Forms → All Forms screen.
- Hover over the form you want to trash.
- On the hover menu, click Trash.
- The form will be moved to Trash.
Permanently delete a form
- Head over to Forms → All Forms → Trash.
- Hover over the form and click Delete permanently.
Filter forms by date
- Head to Forms → All Forms screen.
- Select a date from the All dates dropdown.
- Hit the Filter button.
- Forms will be filtered by date.
Bulk edit forms
- Head to Forms → All Forms screen.
- Select Forms from the list by ticking the checkboxes on the left.
- Choose an action from the “Bulk actions” dropdown.
- Click the Apply button.
- The selected action will be applied to the forms.
Handling submissions
Mark a submission read/unread
- Head to Forms → Submissions screen.
- Hover over the submission you want to mark, a hover menu will appear.
- On the hover menu, click Mark as Read/Unread.
- Any unread submission is highlighted with a yellow background.
Mark a submission as spam
- Head to Forms → Submissions screen.
- Hover over the submission you want to mark, a hover menu will appear.
- On the hover menu, click Spam.
Trash a submission
- Head to Forms → Submissions screen.
- Hover over the submission you want to trash.
- On the hover menu, click Trash.
Permanently delete a submission
- Head to Forms → Submissions screen.
- Click on the Trash link at the top of the page.
- Hover over the submission you want to delete.
- On the hover menu, click Delete Permanently.
Restore a spammed or trashed submission
- Head to Forms → Submissions screen.
- Click on the Spam/Trash link at the top of the page.
- Hover over the submission you want to restore.
- On the hover menu, click Not Spam/Restore.
Edit a submission
- Head to Forms → Submissions screen.
- Hover over the submission you want to edit.
- On the hover menu, click on the View link.
- This brings up the Edit Submission screen.
- Once done editing, click the Update button to save the changes.
Change a submission date
- Head to Forms → Submissions screen.
- Hover over the submission whose submission date you want to change.
- On the hover menu, click on the View link to edit the submission.
- Click the Edit link beside the date that’s in the Save meta box that’s located on the right sidebar of the screen.
- Select the date you want, then press Ok once done.
- Click the Update button to save the changes.
Bulk edit submissions
- Head to Forms → Submissions screen.
- Select submissions from the list by ticking the checkboxes on the left.
- Choose an action from the Bulk actions dropdown.
- Click the Apply button.
- The selected action will be applied to the submissions.
Filter submissions by form
- Head to Forms → Submissions screen.
- Select a form name from the All Forms dropdown at the top of the page.
- Click the Filter button.
- Only submissions from the selected Form will be shown.
Search submissions by keyword
- Head to Forms → Submissions screen.
- Fill in a search keyword in the upper right input field.
- Hit the Search Submissions button.
- Submissions will be displayed based on the searched keyword.
Managing coupons
Add a new coupon
- Head to Forms → Coupons screen.
- Fill up the Add New Coupon form.
- Hit the Add New Coupon once done.
Accept coupons in a form
- Head to Forms → All Forms screen and edit your form.
- Go to the Build tab and expand your Payment field.
- Tick the Accept Coupon checkbox.
- Click the Update button to save the changes.
Edit an existing coupon
- Head to Forms → Coupons screen.
- Click the name of the coupon or the Edit link from the hover menu.
- Do the necessary changes at the Edit Coupon screen.
- Click the Update button to save changes.
Delete an existing coupon
- Head to Forms → Coupons screen.
- Hover over the coupon you want to delete.
- On the hover menu, click Delete.
- Press Ok at the pop-up to confirm the deletion of the coupon.
Integrations
Mailchimp integration
- Follow this guide to generate a Mailchimp API key.
- Head to Forms → Integrations screen.
- Paste your key to the API key field in the Mailchimp widget.
- Click Save Changes.
AWeber integration
- Head to Forms → Integrations screen.
- Click Get your code in the AWeber widget to open the AWeber authentication screen.
- Authenticate with your AWeber credentials to obtain your verification code.
- Copy your verification code to your clipboard and close the browser tab.
- Back in the AWeber widget, paste your verification code in the Verification code field.
- Click Save Changes.
ActiveCampaign integration
- Follow this guide to obtain your API URL and API Key.
- Paste your API URL and API key into the ActiveCampaign widget.
- Click Save Changes to activate your integration.
Constant Contact integration
- Create a developer account, then create an app as outlined in this guide.
- Configure your application Redirect URI to your site address followed by
/wp-admin/?happyforms-oauth=constant-contact
. Like this:https://myawesomesite.com/wp-admin/?happyforms-oauth=constant-contact
ConvertKit integration
- Access your ConvertKit dashboard.
- Click Account Settings in the user menu.
- Copy the value of the API Key input.
- Paste this value to API key field in the ConvertKit widget.
- Click Save Changes.
Drip integration
- Access your Drip dashboard.
- Click Settings → User info.
- Copy the value of the API Token input.
- Head to Forms → Integrations screen.
- Paste this value to API key field in the Drip widget.
- Click Save Changes.
MailerLite
- Head over to the Integrations screen in your MailerLite dashboard.
- Copy the value of the API key input.
- Paste this key to API key field in the MailerLite widget.
- Click Save Changes.
SendFox integration
- Go to Settings → API screen in the SendFox dashboard.
- In the Personal Access Tokens section, click Create New Token.
- Enter Happyforms for the token name, then click Create.
- Copy the token and paste it to the Personal access token field in the SendFox widget.
- Click Save Changes.
SendGrid integration
- Navigate to Settings → API Keys screen in the SendGrid dashboard.
- Click Create API Key, then fill in the API Key Name so you can later identify it.
- Click Create & View.
- Copy the API key and click Done.
- Paste this key to API key field in the SendGrid widget.
- Click Save Changes.
Sendinblue integration
- Head over to SMTP & API screen in your Sendinblue dashboard.
- Copy the v3 key from the API KEY input.
- Paste this key to API key field in the Sendinblue widget.
- Click Save Changes.
EmailOctopus integration
- Head over to the API screen in your EmailOctopus dashboard.
- Click Create key, name your new key, and click Create.
- Copy and paste your new key to the API key field in EmailOctopus widget.
- Click Save Changes.
Stripe integration
- Head over to Forms → Integrations screen.
- Paste both publishable and secret keys to respective fields in the Stripe widget.
- Click Save Changes.
Webhooks
Webhooks notify Happyforms of successful payments even when your users close their checkout form before completion, or the charge is delayed because of disputes or bank regulations. Here’s how to configure webhooks:
- Click Add endpoint in your Stripe dashboard’s Developer → Webhooks screen.
- Copy and paste the Webhook endpoint URL from your Forms → Integrations screen Stripe widget into Stripe’s Endpoint URL field.
- Click Select events, then select payment_intent.succeeded under Payment Intent.
- Click Add endpoint.
- In the Developer → Webhooks screen, click on your newly created webhook, then click Reveal under Signing secret.
- Copy and paste the signing secret into your Forms → Integrations screen Stripe widget Webhook endpoint secret key field.
- Click Save Changes.
That’s really all it takes! To start accepting credit card payments through Happyforms now, just add the Payment field to your form.
Test mode
Don’t feel like going live with payments yet? No problem! That’s what Stripe integration’s test mode is for. After adding your test keys, just set Mode to Test and click Save Changes. And done! You can now use any of the test cards available here to double-check that your form is collecting payments flawlessly.
When you’re ready to publish your form to the public, make sure Mode is set to Live to make payments live.
PayPal integration
- Head over to Forms → Integrations screen.
- Obtain your PayPal credentials here.
- Paste your Client ID and Client secret credentials in PayPal widget.
- Click Save Changes.
Configuring PayPal application and obtaining credentials
In order to obtain a set of credentials, PayPal requires you to set up an application first. To create one, head over to the My Apps & Credentials page on the PayPal Developer dashboard.
Sandbox and live mode
PayPal assigns two pairs of credentials to your application. Live credentials are linked to your real PayPal account, while sandbox credentials are linked to a virtual account you can use to test your integration. We suggest first testing your integration in sandbox mode and switching to live mode once you’re sure about your Payment field configuration. For more information, take a look at the PayPal Sandbox Testing Guide.
Zapier integration
- Head over to Forms → Integrations screen.
- In the Zapier widget, fill in the API key field(pick any random key) then hit the Save Changes button. Copy the API key to your clipboard.
- Hop on your Zapier dashboard and make a new zap.
- Choose Happyforms as the trigger app, and New Activity as the trigger event.
- Continue to the account setup step and add a new account.
- Paste your API Key in the API Key field.
- Enter your site address (without /wp-admin) in the Site URL field.
- Click Yes, continue to proceed with your zap setup.
Integrately integration
- Head over to Forms → Integrations screen.
- In the Integrately widget, fill in the API key field. Copy the API key to your clipboard.
- In your Integrately dashboard, create a new automation.
- Select Happyforms as app 1 and pick a service of your choice as app 2.
- Pick a ready-made automation, or create your own, then click Go.
- In the Automation screen, click Add connection under Happyforms to create a new connection.
- Enter your site address (without /wp-admin) in the Site URL field.
- Paste your API Key in the API Key field.
- Click Continue to save your new connection.
- Once you’ve connected a 3rd party service, you can test your automation and go live.
Google Analytics integration
- Get the Tracking ID on your Google Analytics account.
- Head to Forms → Integrations screen.
- Google Analytics widget, paste the Tracking ID.
- Click Save Changes.
- Your forms will now start tracking events.
- Use the Google Analytics option under your form builder Setup tab, To turn it on/off on a form.
reCAPTCHA integration
- Create a new pair of reCAPTCHA credentials account.
- Add your domain (without https://) under the Domains section.
- Head over to Forms → Integrations screen.
- In the reCAPTCHA section, pick v2(visible) or v3(invisible), and fill in your credentials.
- Hop into your form builder and turn on Use reCAPTCHA under the Setup tab.
Thrive Automator
Integrate with external services right from your dashboard. Here’s how it works:
- Make sure Thrive Automator is installed and active.
- In Thrive Automator click Add new to create a new automation.
- Pick Happyforms → Happyforms form submit as the trigger.
- In Form, pick the form that will trigger your automation, then set the Email field to the email field that holds your submitter’s email address.
- Click Done.
- You’re now free to pick any supported next step.
- Once you’ve finished setting up your automation, click Save and finish.
- When you’re ready to go live, set your automation to Active.
Using your email integration
Connect email integrations with your form
With your email integration enabled, you’ll need to map your fields to the existing fields in your email marketing service.
- Head to All forms screen.
- Add/Edit a form to open up the form builder.
- Under the Build tab, add an Email field.
- Then head to the Email tab of your form builder, and choose the email service from the Connect with dropdown.
- Set the Set subscription status to.
- Choose a list in the List to add submitter’s email to dropdown.
- Go back to the Build tab, a new Map field to (service name) field dropdown is added to each supported field
- Select an email integration field you’d like that field to populate.
- Click the Save/Update button.
Send an email to confirm the subscription
Also known as double opt-in. When checked, new subscribers will need to confirm their email address to complete the subscription to integrations that support this feature.
Add users to list
Control labeled List to add user’s email to lets you pick a list which you’d like to feed new subscribers into. Adding a logic group makes it possible to drive subscribers to your other list(s) based on the form field values.
Assign subscribers to groups
If your integration supports this feature, and your list has interest categories (groups) created, you’ll notice a new set of controls showing up below “Group to add user’s email to” label. This reflects the controls you’ve set up in your integration account dashboard and allows you to assign new entries to groups automatically. Conditional logic makes it easy to change a group based on submitted data.
Tag subscribers
Adding tags is a great way to further organize your contacts. On integrations that support tags, the “Add these tags to submissions” text field accepts as many tags as you need, separated by commas. And with conditional logic, it’s super easy to pick another set of tags based on the submission.
Opt-In Choice field
With an active email integration, a new Opt-In Choice field has been added to the bottom of the fields drawer in Build tab. This is perfect for when you’d like to require permission before opting submitted email into your mailing list. No user will be added to your mailing list when this field remains unchecked.
Troubleshooting
The form builder won’t load
That’s almost always a clash with another plugin. We always work hard to make Happyforms compatible with the whole plugin-verse. As it turns out, there are tons of possible combinations and it’s not humanly achievable to test every one of them.
- Try to deactivate all plugins except Happyforms and switch to a different theme, to rule out any conflicts.
- Double-check any errors printed on Forms → Add New screen. Sometimes WordPress might not display an error on the screen directly but will email it to you instead. Have you got any emails about the issue? Feel free to contact us with a screenshot or copy-pasted error message. We’ll be happy to help!
Themes with Kirki framework
If the error you’re seeing includes the word Kirki, it means your theme uses the Kirki framework. That’s cool! But when Kirki is bundled in any theme’s code, Happyforms is unable to load the builder properly.
To fix it, just install the Kirki Customizer Framework plugin, then activate it. Both Happyforms and your theme will work correctly together.
Invalid registration key error
When you are seeing this error in the registration popup—the version of Happyforms you installed might not match your current plan. Here’s how to fix it:
- Download your plan’s latest version of Happyforms from our site.
- On your WordPress admin dashboard, head to Plugins → Add New screen.
- Click the Upload Plugin button.
- Upload the zip file you downloaded in step 1.
- At the end of the upload, confirm you want to overwrite your current copy of Happyforms.
What to do if it arrives in your Spam folder
If you’ve set up your form to send a confirmation message to your email, Happyforms will send a message containing submission data every time a user submits your form. This message might be considered spam by your email provider or client. In that case, be sure to flag the email sender (which depends on your server configuration) as a trusted address. That should do the trick!
What to do if the email notifications don’t arrive at all
By default, Happyforms uses WordPress core features to send email messages. WordPress follows your server configuration regarding email sending: if your server forbids access to its email service, your emails might not make it to your inbox, or that of your recipients. Don’t panic, though! There are a bunch of solutions to overcome this limitation. The easiest one is to use a third-party, SMTP plugin like WP Mail SMTP.
Using SMTP moves email sending from your server to an external service, like Gmail or your email provider of choice. If you can, we suggest SMTP over the basic WordPress functionality since it offers improved security, and reliability and frees your server from the additional work.