To utilize this plugin you will need a copy of Divi by Elegant Themes

COMPATIBLE WITH DIVI thru v.4.15+ – NOTE: by Elegant Themes’ standards, the module in this plugin is denoted as being “partially” compatible with the Visual Builder.  This primarily is attributed to module settings updates being delayed until successive ajax page refreshes while in the VB.  The module is fully compatible within the New Divi Experience in the back-office plus wire-frame mode in VB and SHOULD NOT be used in the Classic Divi Builder NOR with any forms built with previous versions of this plugin.

NOTES FOR 7.0!  This release should be considered a FEATURE release and, as such, should not be used with forms built with v.0.6.0 or earlier without testing in a development environment first.  Many changes have been made for styling enhancement along with added attributes for certain fields. Visit the Documentation URL for further insight.

NEW IN 5.0!

  • improved compatibility in VB
  • new styling for Radio and Checkbox fields
  • additional styling settings for fields per recent Divi updates

NEW IN 4.0!


NEW IN 3.2!


NEW IN 3.0!


NEW IN 2.1!


NEW IN 2.0!


The Custom Form/CRM plugin provides one Page Builder module for use in the Divi theme  that allows drag & drop construction of forms. This module is found in the Insert Module list and is named KK Custom Form2/CRM.

There are many viable form builders that are compatible with WP themes including Divi, but if you like to manage all content with the ET Builder, KK Custom Form/CRM could be the complete answer.

If you are familiar with the ET Divi Contact Form, then you are already familiar with Custom Form/CRM . This module incorporates a CRM portion that helps manage the forms submitted but also collects form user details for later use in Customer/Client Retention Management.

The CRM is via the use of Flamingo (the add on to Custom Form 7). Why Flamingo? Because there is not a pro version or other addons for a fee. It is sleek and to the point. Flamingo is embedded within this plugin and is not needed separately. Peruse the gallery for some examples of what to expect.

Form Fields:

  • Text
  • Textarea
  • Email Address
  • Checkbox
  • Checkbox groups
  • Acceptance Checkbox
  • Radio groups
  • Select
  • Custom Select (via importing option list)
  • Select Recipient (a select field for form notification destination)
  • File Upload
  • Date
  • URL
  • Number
  • Hidden
  • ET Quiz
  • reCaptcha 2 (Custom Form2 only)

HTML Entries:

  • Notes
  • Fieldsets
  • Field Help
  • Pages

Particular to File Upload: the module controls offer the ability to include/exclude fields in the notification email sent to the recipient. In the case of files, the email has a link to the captured file as opposed to attaching the file. This keeps the file from entering the email client. The file can also be accessed via the CRM.

Pages:  using Pages allows creating multi-part or multi-page forms.  The pages appear after the preceding page is filled in and validated.  Long forms can then be constrained into smaller screen spaces, but also fields can be grouped into particular subject matter.

Add to Wish List


  1. Steve Carter

    This plugin is a no-brainer. Having integration with Divi makes it SO much easier to use, especially if you’re used to using Divi to edit your site. Having the file upload form AND the fact that it uses Flamingo to store your form submissions in a database on wordpress makes keeping everything organized a lot easier.
    As far as customer support. James is totally on top of taking care of you. He went way above and beyond helping me resolve some conditional logic issues I was having.
    HIGHLY recommend this!!

  2. Alison

    Great plugin and support!

  3. Nick Arts

    Will there be updates so it is compatible with the current version of DIVI? I keep getting this message:
    And can you explain how it works if there is an update? Does it update through WordPress or do I need to download the new version from this marketplace?


      Just catching up; I apologize. The message with the orange background is ET’s method to alert the user that the module in question is classified as “partially” compatible with VB. The module can be edited like any other module, but the updates to the screen are via ajax, much like Beaver Builder, etc.

      Fix releases are accomplished thru auto-updates, but it will be voluntary. Feature releases are NOT auto. Feature releases will have to be retrieved from your account interface and then installed. The latest WP allows the user to install “over” the existing version, so, deleting first is no longer necessary.

  4. DaveWeatherby

    I already have a complicated in-depth long and drawn out contact form built in Divi. if I use this software can I just add an upload file option to my already created form, or will I need to create the entire form over again using this only? Thanks for any info on this matter as looking for a good solution to upload files via Divi contact forms and this one looked good so far.


      No; I’m sorry. Existing Divi module forms will not be recognized by this form module. You will have to recreate.

  5. cjramirezb

    Hello, I would like to know if this plugin is updated to the latest versions of divi. I see that the appearance of the form is different from the native form of divi. something important works with the Divi conditional fields. ?

  6. Stephen Kent

    I bought this plugin for a couple of different projects and was not disappointed, It does exactly what it says it will do and a little bit more. It goes way beyond the standard Divi contact module and allows for multi-page forms.

    I had to contact the dev for some support, he responded within an hour each time and fixed the problem without drama.

    I never write reviews of things, but for the quick support alone I felt I should let others know.

    Verdict: Great Plugin, Awesome Support

  7. James

    Sorry for the late reply.
    Earlier forms built with the version you mention will not work with the latest version. Therefore, there is no provision to upgrade automatically. However, you should be able to download the new version from your account and use in a new site.
    If you need to use the latest version on earlier sites, plan on rebuilding the form and maybe import into the Divi library prior to deleting the old plugin version and install the new…

  8. Denis St-Amour

    I have version 0.3.3. Why can’t I upgrade to your current version? Do I have to purchase it again??

  9. James

    I’m sorry, XCentric, that your experience didn’t live up to your expectations. Yet, I don’t recall your attempting to contact me through the EMP Support interface. Together, we might would have been able to preempt your dissatisfaction.

    If you are still out there, do use the Support stream if there is still any misunderstanding.

  10. Andrew Palmer

    Hi There, I am sorry you feel the product description is not as it should be. It seems very clear to us that the plugin is a separate form plugin that emulates the divi form. I am of course happy to refund your purchase if so requested via our support department

  11. xCentric Support

    Save your money. This plugin is terrible. I purchased it based on (in retrospect) poor description that leaves a lot to the imagination.

    What I wish I knew before purchasing it:

    1. This plugin is an alternate to the Divi forms module — it does not add the described capabilities to the Divi module.

    2. The field layout and descriptions do not match the Divi native contact form m module — so there is a learning curve. The plugin author website is no help as the documentation on the site is equally poor.

    3. Beyond this the plugin appears to conflict with the Divi contact form module causing Divi standard contact forms to become unresponsive when editing.

    After experiencing the above I immediately deleted the plugin.

    Net-net: I just wasted $20.

  12. Tomas Hulman

    The plugin seems to be the ONE I am looking for, but still I have some questions. I would like to ask about licencing. The price of this plugin is for yearly subscription or a lifetime? Just cannot find this information.
    Is there a need to buy separate licences when I use the plugin for more than one site?

    Special thank for your feedback


    • Andrew Palmer

      This plugin is unlimited licenses – with support for 6 months form purchase date.

  13. Samuel

    Concerning the multi-part and multi-page feature of the plugin. Does this feature allow the form the pass information from form modules on one page to another? I want to be able to have multiple pages fully designed in Divi with forms on each page that are passing the information from one form to another.

    • James

      The multi-part/multi-page feature is intended to separate input data that is congruous to the part/page in one continuous form. There are a few examples on the demo site if you’ve not seen them. The multi-page reference may be misleading, though the term has been used in other cases where one finite form submission leads to a page refresh containing a completely different set of input. In essence, the data submitted then is accumulated and something then happens to it.

      In this plugin, multi-part/multi-page are synonymous, yet, can be different depending on usage. In any case, the parts or pages together constitute a single form with the Submit action being performed in the last part/page.

  14. Greg Hadley

    I was told to check out this plugin because form submissions can be stored and set up with webhooks to integrate with things like Zapier. Is this true? I can’t seem to find anything about it in the documentation.



      If you are familiar with using WP hooks, there are a couple of them in this module that can be used to capture the form submission and use in your own code. There is no documentation. It’s more of a need-to-know situation ;^)

      Also, since form submissions can be stored within the incorporated Flamingo admin, you can dev code to extract from there.

  15. mephivio

    is your plugin compatible with Divi 3.5 ?
    or, could we expect a new release soon …

    Thanks for your feedback


      The product description has been modified to indicate compatibility with Divi v.3.5. It must be remembered that, as indicated in the description, the current version of this plugin’s module is NOT fully compatible with the Visual Builder. Settings within the module can be modified in VB but the module still renders as a gray block.

  16. wp_flamingo

    Hi, I bought the plugin, but it doesn’t work on DIVI 3.2.2, don’t know how to customize, are anyone here have the same issue?

      • wp_flamingo

        Hi thanks, I finally figured it out how it works, I just have to edit the module at the backend.


          Yep; not fully compatible with Divi 3.1+, yet. Though, I haven’t decided that a form builder is suitable for VB. Yet, being able to style it in VB might be good.


      If you are referring to Visual Builder, which I think you are, it does work but you won’t see it render in VB. This module has not been modified, yet, to be fully compatible.

      The message you see in the settings of the module is just a nag so you understand what the gray box is all about.

      The module is fully compatible with the Backend Builder.

      • wp_flamingo

        thanks for the reply. It works as you suggest. But I have some more question to ask if it possible to have it, for the next update of the plugin..

        Is there a way to change, name in channel as now it’s appear “kk custom form/”form name”” can we change the kk custom form to perhaps, website name? it’s somehow confusing…

        Although, could email notification, possible for admin notification have text area to write also some message like for confirmation email? I just feel it’s a little bit too cold, to receive email and said nothing, just the name and some message from the client., in divi contact form module, possible do it, so I don’t know if the kk custom form could do the same?

        also I would like to input the field that sent to email, is there a way to do it? like in Divi module, I can put %%field_id%% so it appear in where i want in the email context, like ” Dear %%firstname%% and so on…instead of having everything line up, i just feel it’s too cold to read

        Thanks again for the great plugin. It is very useful, if you could develop more, I would really be appreciated.



          Some of this already on the TO-DO list.

  17. Jean Arampatsis


    Could you please guide me how to add in acceptance checkbox the link to privacy policy?

    Thank you

    • James

      After selecting the Acceptance Checkbox as a field type, the URL link setting field will be revealed. There, enter the URL where the privacy policy resides.

      In the Label setting, phrase how you want the stipulation and place %% before and after what text in the Label will hold the linkage.

      You also MUST set the Required toggle.

      • Jean Arampatsis


        Thank you for your reply. I got it now. One more thing. How can this checkbox when the client accepts it can return in the value of the contact form a text like “GDPR accepted on”. I think this is crucial for the gdpr comliance.

        Thank you

        Best regards


          The best way to have the Acceptance Checkbox field have meaning is to give it an ID of “acceptance” or similar. If you record this to Flamingo, then you have that and the date of the submission.

  18. edstudios

    Is there an option to prevent the uploaded files to be sent to the website server, but only to the mail server ?
    Very nice plugin !


      Currently, there is no option for this. Even if there was, the file upload would still be sent to the website server. This module retains the file on the server for later retrieval.

      Considering that some email servers or services may incorporate filters for attachments, this module’s concept was to avoid this but provide a means to retrieve the uploaded file via a link within the form’s notification email OR the backoffice.

  19. James

    Hi! I’m using the plugin on a Spanish language site and my client would like the REQUIRED error message on the form changed to “campo obligatorio”.
    Is this possible? and if so, how?



      There are several validation locale files that you can edit and change the verbiage to your needs. These files are located in the validate folder/dir within the plugin.

  20. Kelly

    Fabulous contact form, super easy to customise as a usual divi module. I used the upload an image field which works great. Had slight initial issue with form sending so contacted support and was emailed and sorted out within the hour (at late at night). Highly recommend and thank you very much to James!


      No problem. We aim to please ;^)

  21. Andres Quartieri

    Hi I thinks this is a great plugin but I need to know what type of files can be uploaded to the contact form


      Sorry for the late response. You can upload any file type allowed by WP. You can also limit file types, as well.

      • David Hayden

        I’m having trouble uploading JPEGs. Who can I ask for help with this?

        • Andrew Palmer

          This is than likely a server issue with memory allocation so please check that with your host. If this does not work for you. Navigate to the product page and hit the link for support.


          If this is sporadic, you may need to adjust the MAX_FILE_SIZE setting in the Design tab of the module settings. The default size is 1Meg.

  22. macangelo

    I have a question to the licensing. You write:
    “You may use on all sites (personal and commercial) that you build as often as you like. You may not transfer ownership or provide to others. ”

    Does that mean I’m allowed to use it for my clients’ websites?

    Thanks a lot!

    • Andrew Palmer

      It basically means do not share the original for free or for sale. It is just for use on your own site or client sites that you design

  23. Guillermo

    Hi … Is there any way to change the color of labels inside the forms fields? (example: “Name (Required) – Email (Required) – etc …”) … the default color is “soft-grey” (or similar … I dont´t know exactly the color) and I need to change it to #fff.

    I have a black background color of section and transparent background for form fields and the “sof-grey” of the text labels inside the form fields is difficult to read.

    Thanks in advance 🙂


      The labels when selected to be inside the input fields become placeholders by html standards. There is a CSS3 standard pseudo selector but it probable that the various browsers have specific syntax to sytle this property.

      Instead of trying to explain it here, it might be best to review this yourself at any of various sources. A good place to start would be:

      Ultimately, you’d need to enter custom CSS in the place of you choosing.

  24. Gustavo


    I would like to know if is it possible to customize the Subject email field using a some data from a form field.

    My need is to avoid message grouping in Gmail inbox.

    Different subjects does not get grouped.

    Thank you.


      Are you asking about the email Subject that appears in the email Header or a field that actually appears in the form itself?

      If in the Header, there is a General Setting in the module to establish a Subject for the form. There is no function, however, to logically create a subject from other form fields.

  25. Mohammad

    The plugin solves a lot of problems with DIVI’s contact form, but what is more impressive is the speedy customer service. My small problems were answered very fast and I’m not worried about having any more, now that I know I won’t have to wait a long time.

    I definitely recommend KK CRM, and will be checking out more from this vendor for sure.


      Thanks for your kind remarks. James

  26. Tony Aponte

    I’m curious…can this form be tied to the Aweber integration through Divi? This is something I have been looking for and can’t seem to find anything that I can use as far as forms that can be used for lead gen containing the forms phone, name, email and text box.

    Any thoughts?



      At inception, I thought about this, but the APIs for Aweber (and others) and even the Divi plugins/modules were a little daunting, plus they didn’t score with me as being a must need for v0.1.0.

      Custom Form/CRM is and will evolve, however.

  27. Beth McShane

    I need to say this. The KK Custom form works, but what really shines in the KK line of products is the customer service. Mr. King went above, beyond, and sideways to get my forms working correctly when I had several blonde moments. I have never had better customer service from a developer, and plan to purchase all of his products in the future, knowing that he really stands behind his work. 5 stars and 2 thumbs WAY up!! (I paid full price for my KK Custom Form plugin, btw)


      Thanks for the kind words, Beth.

  28. Beth McShane

    Bought this and super happy with the design and UI. However, I have tried filling out the forms with dummy information, and it’s not submiting the info to Flamingo or my email. What am I doing wrong?


      Make sure you fill out all Field Names per instruction in the module settings and have an Email Address field type within the form. This is the minimum care needed in building the form, but there could be other circumstances that might cause problems.

  29. Bruno Bouyajdad

    Works great so far. Very useful.

    It would be nice, if you add multiple file upload in an update, with the possibility of setting the maximum number of submitted files.

    It would also nice, if you add some hooks on form submission to get the submitted content for custom data processing. Here it makes sense to add an global hook and an additional hook that can be combined with the form id, which can be set in the main global tab.


      Multiple file upload solved and will be in the next release along with some other things mentioned in the list within the EMP product description.

      So, where would this data processing take place and how would it manifest?


      • Bruno Bouyajdad

        It would be good if the $flamingo_args are always created completely (cause then all datas are sanitised). Then you can simply pass this array to a hook. And it also would be nice if you could give each form a unique identifier, which can then be combined with the hook.

        Something like this should work:


          Sounds reasonable. I’ll put it on my to-do list. It may even be good in cases where the dev chooses not to record to Flamingo.

          • Bruno Bouyajdad

            Yes, that’s the reason why I’m wrote: “It would be good if the $flamingo_args are always created” … 🙂

          • James

            Hook added in Version 0.2.0.

  30. Tobisa

    Hi there,

    is it possible to do a conversion tracking?

    That would be a great feature, at least for me 😉


      I’m a geek so you’d have to explain what you mean by “conversion” ;^)

      If you’re asking about charting or reporting, no, there are no specifics beyond capturing the form submission. It is an interesting concept, however, that might could involve fields with choices or even hidden fields.

  31. Steve Squeo

    Is there a way to add some text to the actual body of the email message that gets sent to the person signing up at the website?

    For example, a welcome message thanking them for submitting the message and enticing them to do more back at the site again.


      In this version, there is no “Confirmation” email, as yet. That will allow something more robust to be sent to the form user.

      The module does have a textarea general setting for including a message to the form user upon successful submit. That can say Thank You and such and will be displayed in the same area that the form resides in.

      You can also set a redirect to another page that can be designed in any manner you choose.

      • James

        “Confirmation” email has been added as an option in Version 0.2.0.

  32. Bruno Bouyajdad

    Looks interesting. I would like to see it on the demo page, but only “403 Permission Denied” appears..

Submit a Comment


version 0.7.1
-fixed fatal error when using confirmation message option
-added styling for error border of select fields
-added additional options for styling confirmation message using pages

version 0.7.0
-added setting field for modeling notification message
-added wp filter to customize upload file mime types

version 0.6.0
-modified code to further enhance styling options
-updated method for date field calendar

version 0.5.0
-improved compatibility in VB
-new styling for Radio and Checkbox fields
-additional styling settings for fields per recent Divi updates

version 0.4.0
-added Acceptance checkbox field to aid with GDPR
-added variable width settings for individual fields
-added styling controls to fields
-added Layouts selection capability through companion plugin

version 0.3.3
-added css entries to style.css for checkboxes and radios that counter recent Divi updates

version 0.3.2
-added custom select drop-down field to complex form
-added toggle for send notifications to complex form
-added left labels toggle to complex form
-added smtp phpmailer module settings to complex form

version 0.3.1
-corrected display issues due to recent Divi update
-added localization for datepicker date fields

version 0.3.0
-added new complex form module
-in complex form, added reCaptcha option to captcha choice
-in complex form, added date format and date range options for date field type
-in complex form, added multi-part(multi-page) form capability
-in complex form, added conditional field option

version 0.2.3
-modified stylesheet and code to correct Divi 3.0.51 stylesheet problems with KK Custom Contact Form group fields

version 0.2.2
- implemented localization for error message display
- uploads folder now default or form id
- hidden fields removed from confirmation email

version 0.2.1
- improved validation error display for checkbox and radio groups
- added capability to mask text fields to stipulate/validate input i.e. phone, zip codes, etc.

version 0.2.0
- enabled multi-file upload
- improved file type select field display
- enabled multiple forms on single page (option to set form ID)
- included action hook for flamingo args/fields
- added option for confirmation email to form user
- added confirmation message textarea or page content fields
- added option to set email subject and sender headers
- removed requirement to have Email Address field in form
- added ability to have First Name and Last Name fields captured
- added tiny mce to HTML Note field

version 0.1.1
- corrected disabled form in initial release

version 0.1.0
- initial release

Checkout the documentation first and if you still need help open a support ticket.

View Docs

You may use on all sites (personal and commercial) that you build as often as you like. You may not transfer ownership or provide to others.  Support will require valid purchase ID.  Purchase price provides six months of support and lifetime updates.

*Support is provided by vendors directly.

Please login to access the support form. you can do so here