Zoho Flow Custom Function Issue

Zoho Flow Custom Function Issue

I have a use case where I will be needing to post data to a wordpress site.  Specifically to a custom post type with a bunch of ACF fields.

I have setup trigger event correctly for Tookan and can receive data from the webhook.

 

In order to post the data to the site I am needing to use a custom function.

I setup the function as a map with parameters passed in as string values for all the values returned from the Tookan webhook.

 

Here is my current code:

 

map Tookan_ReportAutomation(

string tracking_link,

string total_time_spent_at_task_till_completion,

string job_address,

string total_distance,

string order_id,

string customer_id,

string customer_email,

string acknowledged_datetime,

string arrived_datetime,

string started_datetime,

string completed_datetime,

string job_time,string timezone,

string fleet_name,

string fleet_email,

string fleet_phone,

string fleet_id,

string CAR_DETAILS,

string SERVICE_DETAILS,

string LABOUR_CHARGED,

string MECHANIC_EARNINGS,

string CAR_LICENSE_DISC,

string MILEAGE,

string DASH,

string WARNING_LIGHTS,

string DIAGNOSTIC_MACHINE_OUTPUT,

string BRAKES_TYRES,

string FRONT_BRAKE_PADS,

string REAR_BRAKE_PADS_SHOES,

string FRONT_DISCS,

string REAR_DISCS,

string BRAKE_CALIPERS,

string FRONT_TYRES,

string REAR_TYRES,

string SPARE_TYRES,

string JACK_TOOLS,

string FLUIDS,

string ENGINE_OIL,

string TRANSMISSION_OIL,

string BRAKE_FLUID,

string COOLANT,

string ENGINE_BATTERY,

string ENGINE_OIL_LEAKS,

string TRANSMISSION_OIL_LEAKS,

string OTHER_LEAKS,

string DRIVE_BELT_CONDITION,

string FAN_WORKING,

string SPARK_GLOW_PLUGS,

string BATTERY_CORROSION,

string BATTERY_CASE_LEAKS,

string BATTERY_LOAD_TEST,

string BATTERY_VOLTAGE,

string LIGHTS,

string INDICATOR_LIGHTS,

string REVERSE_LIGHTS,

string HEADLIGHTS,

string OTHER_LIGHTS,

string SUSPENSION,

string SHOCKS_STRUT_CONDITION,

string BALL_JOINTS,

string CV_JOINT_AXLE,

string WHEEL_BEARINGS,

string WINDSHIELD_WINDOWS,

string WINDSHIELD_WINDOW_CONDITION,

string WINDSHIELD_WIPERS_OPERATIONAL,

string WINDSHIELD_WIPER_BLADE_CONDITION,

string WASHER_SYSTEM,

string AC,

string AC_BELT_CONDITION,

string AC_AIRFLOW,

string DOORS_MIRRORS,

string DOOR_CONDITION,

string MIRROR_CONDITION,

string TEST_DRIVE,

string STARTER_OPERATIONAL,

string SPEEDOMETER_OPERATIONAL,

string ENGINE_SOUNDS_NORMAL,

string GEARS_CHANGE_SMOOTHLY,

string BRAKES_SOLID_FIRM,

string STEERING_VIBRATES_WHEN_BRAKES_APPLIED,

string SUSPENSION_IS_SMOOTH,

string INDICATOR_CANCELS_AUTOMATICALLY,

string HANDBRAKE_HOLDS_FIRM,

string HANDBRAKE_LIGHT_ON_WHEN_SET,

string OTHER,

string SEATBELTS,

string HOOTER,

string REMOTE_KEYS,

string DOOR_LOCKS,

string ANTENNA,

string EXHAUST_SYSTEM_CONDITION,

string FEEDBACK_ON_ISSUES,

string PARTS_REQUIRED

){

 

                // Define your authentication credentials using Map()

    const authCredentials = Map();

    authCredentials.put("username", “my-email”);

    authCredentials.put("password", "my-password");

 

    // Step 1: Authenticate and get the token

    const authResponse = postUrl(https://my-domain/wp-json/jwt-auth/v1/token, authCredentials);

 

    const authToken = authResponse.token; // Assuming your response structure provides the token

 

    // Step 2: Construct the post data

    const postData = Map();

    postData.put("title", "New Report Title"); // Use a relevant title

    postData.put("content", "Report content goes here."); // Use relevant content

    postData.put("status", "publish");

 

    // Define fields using Map() for ACF values

    const fields = Map();

    fields.put("field_1", CAR_DETAILS);

    fields.put("field_2", DASH);

    // ... (other ACF fields)

    postData.put("fields", fields);

 

                const headers = Map();

                headers.put("Content-Type", "application/json");

                headers.put("Authorization", "Bearer " + authToken); // Include the token in the headers

 

    // Step 3: Make the POST request and capture the response

    const response = postUrl(https://my-domain/wp-json/wp/v2/posts, postData, headers,false);

 

    // Return the API response

    return response;

}

 

I keep getting a syntax error though: Syntax error. Expecting 'throws','sendmail','sendsms','break',function call statement,executeshellscript statement,'pushnotification',assignment statement ,'try','if','for',invokeurl statement,'return',invokeintegration statement,'continue' or 'cancel'. Found 'authCredentials'. at line number 97. Resolve the errors and try again


The same approach in a function in Zoho CRM works just fine and I can post to api endpoints but not from my custom function in Zoho Flow.

 

What am I missing?  Any help would be super appreciated!


    Access your files securely from anywhere

        Zoho Developer Community




                                  Zoho Desk Resources

                                  • Desk Community Learning Series


                                  • Digest


                                  • Functions


                                  • Meetups


                                  • Kbase


                                  • Resources


                                  • Glossary


                                  • Desk Marketplace


                                  • MVP Corner


                                  • Word of the Day



                                      Zoho Marketing Automation


                                              Manage your brands on social media



                                                    Zoho TeamInbox Resources

                                                      Zoho DataPrep Resources



                                                        Zoho CRM Plus Resources

                                                          Zoho Books Resources


                                                            Zoho Subscriptions Resources

                                                              Zoho Projects Resources


                                                                Zoho Sprints Resources


                                                                  Qntrl Resources


                                                                    Zoho Creator Resources



                                                                        Zoho Campaigns Resources


                                                                          Zoho CRM Resources

                                                                          • CRM Community Learning Series

                                                                            CRM Community Learning Series


                                                                          • Kaizen

                                                                            Kaizen

                                                                          • Functions

                                                                            Functions

                                                                          • Meetups

                                                                            Meetups

                                                                          • Kbase

                                                                            Kbase

                                                                          • Resources

                                                                            Resources

                                                                          • Digest

                                                                            Digest

                                                                          • CRM Marketplace

                                                                            CRM Marketplace

                                                                          • MVP Corner

                                                                            MVP Corner





                                                                              Design. Discuss. Deliver.

                                                                              Create visually engaging stories with Zoho Show.

                                                                              Get Started Now