KanbanWP does not ship connectors for specific form plugins. Instead, it provides one WordPress action, kanbanwp_form_submission. Any form plugin, or your own code, can fire that action to create a task. This page documents exactly what the action does.
The action
Call do_action( 'kanbanwp_form_submission', $submission ) where $submission is an array:
| Key | Required | Meaning |
|---|---|---|
board_id | Yes | ID of the board that receives the task. |
title | Recommended | Task title. If empty, the task is titled “Untitled submission”. |
description | No | Task description text. |
stage_id | No | Stage to place the task in. Defaults to the board’s first stage. |
name | No | Submitter name, appended to the description. |
email | No | Submitter email, appended to the description. |
meta | No | Array of key and value pairs, each appended to the description as a line. |
What happens
- If
board_idis missing or the board does not exist, nothing is created. The reason is written to the PHP error log. - If the board has no stages and you gave no
stage_id, nothing is created. - Values are sanitized as plain text. Name, email and meta lines are added below the description, separated by a blank line.
- The task is created with normal priority. No assignee or labels are set.
- An activity entry records that the task came from a form submission.
- Creating the task fires the usual task events, so notifications, Slack or Discord messages and webhooks work as for any new task.
Example: Contact Form 7
Add this to a small custom plugin or your theme’s functions file. Replace 3 with your board ID.
add_action( 'wpcf7_mail_sent', function ( $contact_form ) {
$posted = WPCF7_Submission::get_instance()->get_posted_data();
do_action( 'kanbanwp_form_submission', array(
'title' => 'Contact: ' . sanitize_text_field( $posted['your-subject'] ),
'description' => sanitize_textarea_field( $posted['your-message'] ),
'board_id' => 3,
'email' => sanitize_email( $posted['your-email'] ),
'name' => sanitize_text_field( $posted['your-name'] ),
) );
} );
The same pattern works with Gravity Forms, WPForms, Fluent Forms or a form you write yourself. Use that plugin’s own “after submission” hook, read the field values, and fire the action.
Find your board and stage IDs
The board ID appears in the board’s address as the board value, for example admin.php?page=kanbanwp-board&board=3. Stage IDs are available through the REST API.
Tips
- Send leads to a board whose first stage is named New, so submissions are easy to spot.
- Add a
metaentry such as the page URL to see where each request came from. - Test with one submission and check the board. If nothing appears, look in the PHP error log for a line beginning with
[KanbanWP].