Instantly share code, notes, and snippets.

What would you like to do?
* Callback function for Caldera Forms Run Action to send to a remote API
* SEE:
add_filter( 'my_run_action', 'my_run_action_callback' );
function my_run_action_callback( $data ) {
//Create request body
$request_data = array(
//Add each part of array here
'MODULE' => $data[ 'module' ],
'EMAIL' => $data[ 'email' ]
//Send request - SEE:
//IMPORTANT change URL to your API URL
$r = wp_remote_post( '',
//You might need to json_encode this and set the content-type, check the API docsss
'body' => $request_data
//Request failed without response
if( is_wp_error( $r ) ){
//Cause form submission to fail with the WP_Error message displayed
return array(
'type' => 'error',
'message' => $r->get_error_message()
//Request failed with response
//IMPORTANT: Check your API docs for what status code(s) indicate sucess
if( 201 !== wp_remote_retrieve_response_code( $r ) ){
//Cause form submission to fail with some message display
return array(
'type' => 'error',
//Your API response might have errors, use $body = wp_remote_retrieve_body($r) to read request body
'message' => 'Failed with code ' . wp_remote_retrieve_response_code( $r )
//Don't return anything because it worked!
//Returning in a pre-process callback causes form submission to stop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment