Skip to content
Get Discount
Formidable Forms alternatives
  • Pricing
  • Features
  • Templates
  • Integrations
  • Blog
  • Docs
  • Account
Sign in

Get Discount
Formidable Forms alternatives
Popular Search submitsubmissionentryentriespayment

Developer Docs

  • Database Tables of Fluent Forms
  • Submission Lifecycle
  • Integration Feed – Fields API
  • Creating Custom SmartCode for Form Editor
  • Limit Email Domains in Fluent Forms Form Submission
  • Email verification with Emailable
  • Email Confirmation Field
  • How to make a login form with Fluent Form
  • How to make a strong password requirement in user registration forms with Fluent Forms
  • Create Unique Fields in Fluent Forms
  • Populate dropdown field options from Google Sheet
  • Form PHP API
  • PHP Action Hooks
  • PHP Filter Hooks
  • Useful Snippets
  • Creating Pretty Conversational Form URL Slug
  • How to create your own custom field with Fluent Forms

Action Hooks

  • fluentform/before_insert_submission
  • fluentform/submission_inserted
  • fluentform/before_submission_confirmation
  • fluentform/inserted_new_form
  • fluentform/before_form_render
  • fluentform/loaded
  • fluentform/before_form_actions_processing
  • fluentform/before_insert_payment_form
  • flentform/form_duplicated
  • fluentform/form_imported
  • fluentform/after_save_form_settings
  • fluentform/editor_init
  • fluentform/loading_editor_assets
  • fluentform/before_editor_start
  • fluentform/after_editor_start
  • fluentform/after_form_screen_wrapper
  • fluentform/before_form_screen_wrapper
  • fluentform/render_item_{$item}
  • fluentform/after_form_render
  • fluentform/form_element_start
  • fluentform/render_item_step_start
  • fluentform/render_item_step_end
  • fluentform/rendering_calculation_form
  • fluentform/maybe_scheduled_jobs
  • fluentform/do_email_report_scheduled_tasks
  • fluentform/before_permission_set_assignment
  • fluentform/after_permission_set_assignment
  • fluentform/global_menu
  • fluentform/after_form_navigation
  • fluentform/form_application_view_{$route}
  • fluentform/init_custom_stylesheet
  • fluentform/load_form_assets
  • fluentform/scripts_registered
  • fluentform/render_payment_entries
  • fluentform/pre_load_scripts
  • fluentform/submission_note_stored
  • fluentform/starting_file_upload
  • fluentform/global_notify_completed
  • fluentform/save_global_integration_settings_{ $settingsKey}
  • fluentform/integration_action_result
  • fluentform/email_summary_details
  • fluentform/email_template_after_footer
  • fluentform/addons_page_render_{$current_menu_item}
  • fluentform/before_form_settings_app
  • fluentform/after_form_settings_app
  • fluentform/form_settings_container_{$current_sub_route}
  • fluentform/before_global_settings_wrapper
  • fluentform/after_global_settings_wrapper
  • fluentform/global_settings_component_{$currentComponent}
  • fluentform/after_global_settings_option_render
  • fluentform/before_global_settings_option_render
  • fluentform/before_tools_wrapper
  • fluentform/after_tools_wrapper
  • fluentform/before_tools_container
  • fluentform/after_tools_container
  • fluentform/form_styler
  • fluentform/after_style_generated
  • fluentform/conversational_frame_head
  • fluentform/conversational_frame_footer
  • fluentform/user_registration_before_start
  • fluentform/created_user
  • fluentform/user_registration_completed
  • fluentform/post_integration_success
  • fluentform/entry_confirmation
  • fluentform/before_partial_entry_deleted
  • fluentform/after_partial_entry_deleted
  • flunetform/render_payment_entries
  • fluentform/before_all_entries_render
  • fluentform/after_all_entries_render
  • fluentform/before_deleting_entries
  • fluentform/after_deleting_entries
  • fluentform/payment_receipt_before_content
  • fluentform/payment_receipt_after_content
  • fluentform/payment_frameless_{$paymentMethod}
  • fluentform/rending_payment_method_{$methodName}
  • fluentform/payment_method_render_{$methodName}
  • fluentform/before_payment_status_change
  • fluentform/after_payment_status_change
  • fluentform/payment_refunded_{$method}
  • fluentform/payment_refunded
  • fluentform/payment_refund_updated_{$method}
  • fluentform/payment_refund_updated
  • fluentform/ipn_paypal_action_{$txn_type}
  • fluentform/ipn_endpoint_{$paymentMethod}
  • fluentform/ipn_paypal_action_web_accept

Filter Hooks

  • fluentform/insert_response_data
  • fluentform/filter_insert_data
  • fluentform/submission_confirmation
  • fluentform/validate_input_item_{input_key}
  • fluentform/entry_statuses_core
  • fluentform/rendering_field_data_{INPUT_KEY}
  • fluentform/email_body
  • fluentform/rendering_field_data_select
  • fluentform/filter_email_attachments
  • fluentform/rendering_form
  • fluentform/is_form_renderable
  • fluentform/is_handling_submission
  • fluentform/validation_errors
  • fluentform/honeypot_name
  • fluentform/before_render_item
  • fluentform/rendering_field_html_{$elementName}
  • fluentform/skip_no_conflict
  • fluentform/load_styles
  • fluentform/load_default_public
  • fluentform/is_hide_submit_btn_{ $formId}
  • fluentform/form_class
  • fluentform/html_attributes
  • fluentform/editor_shortcodes
  • fluentform/shortcode_parser_callback_{smart_code_name}
  • fluentform/all_editor_shortcodes
  • fluentform/smartcode_group_{$group}
  • fluentform/payment_smartcode
  • fluentform/entry_statuses_core
  • fluentform/nonce_verify
  • fluentform/nonce_error
  • fluentform/numeric_styles
  • fluentform/akismet_fields
  • fluentform/will_return_html
  • fluentform/honeypot_status
  • fluentform/dashboard_notices
  • fluentform/is_admin_page
  • fluentform/single_response_data
  • fluentform/available_date_formats
  • fluentform/permission_set
  • fluentform/api_all_logs
  • fluentform/api_success_log
  • fluentform/api_failed_log
  • fluentform/truncate_password_values
  • fluentform/verify_user_permission_{ $eachPermission}
  • fluentform/permission_callback
  • fluentform/nonce_error
  • fluentform/editor_init_element_{$element}
  • fluentform/editor_validation_rule_settings
  • fluentform/editor_element_settings_placement
  • fluentform/editor_components
  • fluentform/editor_countries
  • fluentform/editor_element_customization_settings
  • fluentform/addons_extra_menu
  • fluentform/global_addons
  • fluentform/global_integration_settings_{$settingsKey}
  • fluentform/global_integration_fields_{$settingsKey}
  • fluentform/global_notification_active_types
  • fluentform/notifying_async_{$integrationKey}
  • fluentform/mailchimp_keep_existing_interests
  • fluentform/mailchimp_keep_existing_tags
  • fluentform/global_notification_feed_{$meta_key}
  • fluentform/integration_data_{$integrationKey}
  • fluentform/shortcode_defaults
  • fluentform/info_shortcode_defaults
  • fluentform/get_raw_responses
  • fluentform/export_data
  • fluentform/shortcode_feed_text
  • fluentform/entry_lists_labels
  • fluentform/all_entries
  • fluentform/step_string
  • fluentform/global_form_vars
  • fluentform/all_entry_labels
  • fluentform/all_entry_labels_with_payment
  • fluentforms/recaptcha_v3_ref_score
  • fluentform/auto_read
  • fluentform/create_default_settings
  • fluentform/form_fields_update
  • fluentform/submissions_widgets
  • fluentform/disabled_analytics
  • fluentform/submission_notes
  • fluentform/store_submission_note
  • fluentform/disable_attachment_delete
  • fluentform/response_render_{element}
  • fluentform/settings_module_{$module}
  • fluentform/rendering_field_html_{$element}
  • fluentform/validation_message_{$ruleName}
  • fluentform/item_rules_{$item}
  • fluentform/send_plain_html_email
  • fluentform/submission_message_parse
  • fluentform/email_subject
  • fluentform/email_body
  • fluentform/email_to
  • fluentform/email_header
  • fluentform/email_footer
  • fluentform/email_styles
  • fluentform/email_template_footer_text
  • fluentform/email_attachments
  • fluentform/email_summary_body_text
  • fluentform/email_summary_footer_text
  • fluentform/email_content_type_header
  • fluentform/email_template_header_image
  • fluentform/email_template_email_heading
  • fluentform/email_template_colors
  • fluentform/nonce_verify
  • fluentform/popup_shortcode_defaults
  • fluentform/survey_shortcode_defaults
  • fluentform/itl_options
  • fluentform/ip_provider
  • fluentform/post_type_selection_types_args
  • fluentform/post_selection_types
  • fluentform/post_selection_posts_pre_data
  • fluentform/post_selection_label_by
  • fluentform/user_registration_field_defaults
  • fluentform/icontact_request_args
  • fluentform/user_registration_feed_fields
  • fluentorm/user_registration_creatable_roles
  • fluentform/payment_settings_{$method}
  • fluentform/payment_method_settings_validation_{$method}
  • fluentform/payment_submission_data
  • fluentform/submission_order_items
  • fluentform/payment_field_{$elementName}
  • fluentform/stripe_checkout_args
  • fluentform/uploader_args
  • fluentform/file_uploaded
  • fluentform/file_upload_params
  • fluentform/default_upload_path
  • fluentform/file_upload_validations
  • fluentform/file_upload_validation_error
  • fluentform/disable_inputmode
  • fluentform/file_type_options
  • fluentform/default_upload_path

Reference API Classes

  • BaseFieldManager Class
  • Integration Manager Class
  • PDF Template Manager Class
  • Base Payment Method Class
  • BaseProcessor Class

Data Definations

  • $submission_data Array
  • $form Object
View Categories
  • Home
  • Docs
  • Developer Documentation
  • Developer Docs
  • Integration Feed – Fields API

Integration Feed – Fields API

For creating feed integration fields, These are the available built in components that you can use for your custom integration. The data structure can be used in getSettingsFields() method for IntegrationManager class implementation.

text #

[
    'key'         => 'key_of_the_setting',
    'label'       => 'Input Label',
    'required'    =>  true, // true/false
    'placeholder' => 'Input Placeholder',
    'tips'        => 'Additional Help Text,
    'component'   => 'text' // text is the component type
]

This is a simple text input component, you can find this in every integration. An output screenshot of the above code. This key used to fetch the settings data when you need it after rendering. This tips field is common for all components to show additional help text which is optional.

image 14 2643

select #

[
    'key'         => 'key_of_the_setting',
    'label'       => 'Select Label',
    'required'    =>  true, // true/false
    'placeholder' => 'Select Placeholder',
    'component'   => 'select', //  component type
    'is_multiple' =>  true, // boolean
    'options'     => [
                 'option_value_1' => 'Option Label 1',
                 'option_value_2' => 'Option Label 2',
              ]
]

This is the regular select input component. It is also used in almost every integration. You can pass your required select options as array format like in the example code with option key & value. To enable multi-select add value ‘is_multiple’ value with true. An output screenshot of the above code after rendering.

image 1 2643

checkbox-single #

[
    'key'             => 'key_of_the_setting',
    'label'           => 'Input Label',
    'component'       => 'checkbox-single',
    'checkbox_label'  => 'Checkbox Label'
],

Simple checkbox input component. A screenshot of the above code after rendering.

image 3 2643

You can find this component in Mail chimp integration file. https://github.com/fluentform/fluentform/blob/master/app/Services/Integrations/MailChimp/MailChimpIntegration.php

checkbox-multiple #

[
    'key'          => 'key_of_the_setting',
    'label'        => 'Input Label',
    'placeholder'  => 'Input Placeholder',
    'component'    => 'checkbox-multiple',
    'options'     => [
        'option_value_1' => 'Option Label 1',
        'option_value_2' => 'Option Label 2',
    ]
]

Checkbox component is the same as the checkbox-single with multiple options. Pass your options as an array like the select component with key & value pairs. A screenshot of the above code after rendering.

image 4 2643
[
    'key'          => 'key_of_the_setting',
    'label'        => 'Input Label',
    'required'     =>  true, // true/false
    'placeholder'  => 'Input Placeholder',
    'component'    => 'value_text',  
]

value_text #

Input text component with shortcode dropdown. Users can insert form & other dynamic values using the available shortcodes in this component. A screenshot of the above code after rendering.

image 8 2643

value_textarea #

[
    'key'         => 'key_of_the_setting',
    'label'       => 'Input Label',
    'required'    =>  true, // true/false
    'placeholder' => 'SMS Text',
    'component'   => 'value_textarea'
],

Same as the value_text component with shortcode dropdown for dynamic input values, but this component input type is textarea. A screenshot of the above code after rendering.

image 9 2643

dropdown_label_repeater #

[
    'key'       => 'key_of_the_setting',
    'label'     => 'Input Label',
    'sub_title' => 'Please specify the data',
    'required'    =>  true, // true/false
    'component' => 'dropdown_label_repeater',
],

This is a dropdown label repeater component field. When you need multiple dynamic values to map from the available shortcode dropdown list. A screenshot of the above code after rendering.

image 10 2643

This component is used in User Registration Integration. If you have a pro version of Fluent Forms you can check how the component is used from here:

fluentformpro/src/Integrations/UserRegistration/Bootstrap.php

dropdown_many_fields #

[
    'key'                => 'key_of_the_setting',
    'label'              => 'Input Label',
    'component'          => 'dropdown_many_fields',
    'field_label_remote' => 'Integration Field',
    'field_label_local'  => 'Form Field',
    'options'            => [
        'option1' => 'Option 1',
        'option2' => 'Option 2',

    ]
],

This is a dropdown many fields repeater component field same as dropdown_label_repeater with a predefined dropdown list. When you need multiple dynamic values from the available shortcode dropdown list you can use this component. A screenshot of the above code after rendering.

image 13 2643

This component is used in Platformly integration. If you have a pro Fluent Forms version you can check how the component is used from here:

wp-content/plugins/fluentformpro/src/Integrations/Platformly/Bootstrap.php

radio_choice #

[
    'key'         => 'key_of_the_setting',
    'label'       => 'Input Label',
    'component'   => 'radio_choice',
    'options'     => [
        ''  => 'No',
        '1' => 'Yes'
    ]
]

Radio input type component. A screenshot of the above code after rendering. Pass your option as an array the same as select. A screenshot of the above code after rendering.

image 15 2643

number #

[
    'key'         => 'key_of_the_setting',
    'label'       => 'Input Label',
    'component'   => 'number'
]

This component is equivalent to input type number which only allows number input. Here is an output screenshot of the above code.

image 17 2643

chained_select #

[
    'key'            => 'key_of_the_setting',
    'label'          => 'Chained Select Label',
    'component'      => 'chained_select',
    'primary_key'    => 'primary_field_id',
    'fields_options' => [

        'primary_field_id'  => [],
        'second_field_id'   => [],
        'third_field_id'    => []
    ],
    'options_labels' => [

        'primary_field_id => [
            'label'       => 'Select Label',
            'type'        => 'select',
            'placeholder' => 'Select Board'
        ],
        'second_field_id' => [
            'label'       => 'Select Label',
            'type'        => 'select',
            'placeholder' => 'Select Placeholder'
        ],
        'third_field_id'  => [
            'label'       => 'Select Label', 
            'type'        => 'multi-select',
            'placeholder' => 'Select Placeholder'
        ]
    ],
    'remote_url'     => admin_url('admin-ajax.php?action=fluentform_get_data')
]

This component name is chained_select which can fetch data from ajax and have field dependent on one another. The primary_key is for the main input field , you can use this field value to get other fields data using the ‘remote_url’ action . You will need to create method similar to its action name to return data. The fields_options array is for total input fields in this settings. This keys needs to matched in with ‘options_labels’ . Here you will define the input type components for these fields.

Here is a screenshot of this component form Trello Integration:

image 18 2643

This component is used in Trello integration. If you have a pro Fluent Forms version you can check the code here:

wp-content/plugins/fluentformpro/src/Integrations/Trello/Bootstrap.php

chained_fields #

[
    'key'                => 'key_of_the_setting',
    'label'              => 'Input Label',
    'component'          => 'chained_fields',
    'sub_type'           => 'radio',
    'category_label'     => 'Select Category Label',
    'subcategory_label'  => 'Select Sub Category Label',
    'remote_url'         =>  admin_url('admin-ajax.php?action=your_action_to_get_the_data'),
    'inline_tip'         => 'Add additional text'
],

This component is similar to chained_select , here two fields are available these are the keys ‘categories’ & ‘subcategories’. You can initialize the data from ajax. Here is an example of this component.

component chained fields 2643

You can find this component in Mail chimp integration file.

https://github.com/fluentform/fluentform/blob/master/app/Services/Integrations/MailChimp/MailChimpIntegration.php

conditional_block #

[
    'key'          => 'key_of_the_setting',
    'label'        => 'Conditional Logics',
    'tips'         => 'Allow integration conditionally based on your submission values',
    'component'    => 'conditional_block',
    'tips'         => 'Additional Help Text'

],

This component is for conditional logics, if you add this component conditional block will be automatically added with your form fields. Here is a output screenshot.

image 20 2643

map_fields #

[
    'key'                => 'merge_fields',
    'require_list'       =>  true,
    'label'              => 'Map Fields',
    'tips'               => 'Additional Text Field.',
    'component'          => 'map_fields',
    'field_label_remote' => 'Integration Field',
    'field_label_local'  => 'Form Field',
    'primary_fileds'     => [
        [
            'key'           => 'fieldEmailAddress',
            'label'         => 'Email Address',
            'required'      =>  true,
            'input_options' => 'emails'
        ]
    ]
],

This component allows you to map multiple fields with a primary key. You can add additional fields by using the getMergeFields method, the keys need to be ‘merge_fields’. Here is an output screenshot of the component:

image 21 2643

For reference you can check the mailchimp integration file.

https://github.com/fluentform/fluentform/blob/master/app/Services/Integrations/MailChimp/MailChimpIntegration.php

list_ajax_options #

[
    'key'         => 'key_of_the_setting',
    'label'       => 'Label',
    'placeholder' => 'Placeholder',
    'component'   => 'list_ajax_options',
    'options'            => [
        'option1' => 'Option 1',
        'option2' => 'Option 2',

    ]
],

This component will allow to list select option from ajax. You will need to create a method for example getLists() to return array format data like the select component . For reference check Mailchimp integration

https://github.com/fluentform/fluentform/blob/master/app/Services/Integrations/MailChimp/MailChimpIntegration.php

list_select_filter #

[
    'key'          => 'key_of_the_setting',
    'require_list' => true,
    'label'        => 'Label',
    'component'    => 'list_select_filter',
    'filter_by'    => 'key_of_the_settings_to_filter',
    'parsedType'   => 'number',
    'placeholder'  => 'Select Double Opt-in Form',
    'options'            => [
        'option1' => 'Option 1',
        'option2' => 'Option 2',

    ]
],

This component will return data by filtering with a setting key that you provide. If you have a pro version of Fluent Forms, for reference you can check Active campaign integration.

wp-content/plugins/fluentformpro/src/Integrations/ActiveCampaign/Bootstrap.php

What are your Feelings
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on March 7, 2023
Submission LifecycleCreating Custom SmartCode for Form Editor

Powered by BetterDocs

Table of Contents
  • text
  • select
  • checkbox-single
  • checkbox-multiple
  • value_text
  • value_textarea
  • dropdown_label_repeater
  • dropdown_many_fields
  • radio_choice
  • number
  • chained_select
  • chained_fields
  • conditional_block
  • map_fields
  • list_ajax_options
  • list_select_filter

Fluent Forms is a lightweight, fastest WordPress contact form plugin empowering 500K+ businesses worldwide.

Email Newsletter

fluentform Newsletter Inline
Free tutorials, exclusive contents & more.
Facebook Facebook Group Twitter Instagram Linkedin YouTube WordPress

Resources

  • Account
  • Contact Us
  • Get Support
  • Brand Guideline
  • Changelog
  • Documentation
  • Developers Docs
  • API Docs
  • Report a Security Issue

Addons

  • Signature
  • PDF Generator (Free)
  • Mautic (Free)
  • Mailpoet (Free)

Calculators

  • GKI Calculator
  • Pay Raise Calculator
  • Fuel Cost Calculator
  • All Calculator Forms

Comparison

  • Free vs. Pro
  • Fluent Forms vs. WPForms
  • Fluent Forms vs. Gravity Forms
  • Fluent Forms vs. Ninja Forms
  • Fluent Forms vs. Forminator

Features

  • Conversational Forms
  • Multi-Step Forms
  • Conditional Logic
  • Numeric Calculation
  • Payment
  • Quiz and Survey
  • Form Security
  • Advanced Form Styler
  • Advanced Post Creation
  • Address Autocomplete
  • Form to PDF

OUR PRODUCTS

  • FluentCommunity
  • FluentCRM
  • FluentBooking
  • FluentBoards
  • Fluent Support
  • FluentSMTP
  • Ninja Tables
  • WP Social Ninja
  • Paymattic
  • AzonPress
  • FluentSnippets

Copyright © 2025 Fluent Forms, a brand of WPManageNinja™.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

  • Affiliate
  • Privacy Policy
  • Terms & Conditions
The Free Version of Fluent Forms is Ready! We’ll send it to your email.
Direct Download – CTA- Homepage

By downloading you agree to our terms of use and privacy policy.

  • Pricing
  • Features
  • Templates
  • Integrations
  • Blog
  • Docs
  • Account