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!


    Zoho Desk Resources

    • Desk Community Learning Series


    • Digest


    • Functions


    • Meetups


    • Kbase


    • Resources


    • Glossary


    • Desk Marketplace


    • MVP Corner


    • Word of the Day


      Zoho CRM Plus Resources

        Zoho Books Resources


          Zoho Subscriptions Resources

            Zoho Projects Resources


              Zoho Sprints Resources


                Zoho Orchestly Resources


                  Zoho Creator Resources


                    Zoho WorkDrive Resources



                      Zoho Campaigns Resources

                        Zoho CRM Resources

                        • CRM Community Learning Series

                          CRM Community Learning Series


                        • Tips

                          Tips

                        • Functions

                          Functions

                        • Meetups

                          Meetups

                        • Kbase

                          Kbase

                        • Resources

                          Resources

                        • Digest

                          Digest

                        • CRM Marketplace

                          CRM Marketplace

                        • MVP Corner

                          MVP Corner




                          Zoho Writer Writer

                          Get Started. Write Away!

                          Writer is a powerful online word processor, designed for collaborative work.

                            Zoho CRM コンテンツ




                              ご検討中の方