Skip to content

Christmas Holiday Special Discount

Flat 30% OFF!
Formidable Forms alternatives
  • Pricing
  • Features
  • Demos
  • Integrations
  • Blog
  • Docs
  • Contact
  • Account

Christmas Holiday Special Discount

Flat 30% OFF!
Formidable Forms alternatives
Popular Search entrysubmitpaymentsubmissionentries

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
  • fluent_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
  • ff_rendering_calculation_form
  • fluentform_maybe_scheduled_jobs
  • fluentform_do_email_report_scheduled_tasks
  • before_fluentform_permission_set_assignment
  • after_fluentform_permission_set_assignment
  • fluentform_global_menu
  • fluentform_after_form_navigation
  • ff_fluentform_form_application_view_{$route}
  • fluentform_init_custom_stylesheet
  • fluentform_load_form_assets
  • fluentform_scripts_registered
  • flunetform_render_payment_entries
  • fluentform_pre_load_scripts
  • fluentform_new_response_note_added
  • fluentform_starting_file_upload
  • fluentform_global_notify_completed
  • fluentform_save_global_integration_settings_{ $settingsKey}
  • ff_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_export_import_wrapper
  • fluentform_after_export_import_wrapper
  • fluentform_before_export_import_container
  • fluentform_after_before_export_import_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
  • fluentformpro_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_entry_deleted
  • fluentform_after_entry_deleted
  • fluentform_payment_receipt_before_content
  • fluentform_payment_receipt_after_content
  • fluent_payment_frameless_{$paymentMethod}
  • fluentform_rending_payment_method_
  • 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_paypal_ipn_verification_failed
  • fluentform_ipn_endpint_
  • fluentform_ipn_paypal_action_
  • 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
  • fluent_form_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
  • ff_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}
  • fluent_editor_validation_rule_settings
  • fluent_editor_element_settings_placement
  • fluent_editor_components
  • fluent_editor_countries
  • fluent_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_{$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_single_entry_widgets
  • fluentform-disabled_analytics
  • fluentform_entry_notes
  • fluentform_add_response_note
  • fluentform_disable_attachment_delete
  • fluentform_response_render_{element}
  • fluentform_settings_module_{$module}
  • fluentform_rendering_field_html_
  • 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_UserRegistration_creatable_roles
  • fluentform_payment_settings_{$method}
  • payment_method_settings_validation_{$method}
  • fluentform_with_payment_submission_data
  • fluentform_submission_order_items
  • fluentform_payment_field_{$elementName}
  • fluentform_stripe_checkout_args
  • fluentform_uploader_args
  • fluent_file_uploaded
  • fluentform_file_upload_params
  • fluentform_uploaded_file_name
  • 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
  • IntegrationManager Class
  • PDF TemplateManager Class
  • BasePaymentMethod Class
  • BaseProcessor Class

Data Definations

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

Integration Feed – Fields API

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

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.

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.

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.

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.

[
    '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.

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.

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.

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.

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.

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.

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:

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.

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.

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:

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
  • Twitter
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on January 18, 2022
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

Addons

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

Get Help

  • Documentation
  • API Docs
  • Support
  • Brand Guideline

Resource

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

Our Brands

  • Ninja Tables
  • FluentCRM
  • Fluent Support
  • FluentSMTP
  • WP Social Ninja
  • Paymattic
  • AzonPress

Email Newsletter

We won't send you spam. Unsubscribe at any time.
Ninja-Tables-BFCM-Popup-Banner
×
Facebook Facebook Group Twitter Instagram YouTube WordPress

Copyright © 2023 Fluent Forms. A Brand of  WPManageNinja™ | Affiliate | Terms & Privacy

Scroll to top
  • Pricing
  • Features
  • Demos
  • Integrations
  • Blog
  • Docs
  • Contact
  • Account