Resources

Documentation

#
Updating WP Store Locator Fields via Zapier + WP Webhooks Pro.

Overview

This guide explains how to update custom meta fields in WP Store Locator (custom post type wpsl_stores) using Zapier and WP Webhooks Pro.

It is ideal for use cases like:

  • Updating store details from Monday.com
  • Managing phone numbers, emails, prosthetists, and more
  • Automating updates via webhook actions


🔧 Step 1: Set Up Webhook Receiver in WP Webhooks Pro

  1. Go to WP Webhooks Pro → Receive Data
  2. Create a new webhook
    • Name: update_store_fields (or anything you like)
    • Action: update_post
  3. Copy the webhook URL provided

🔧 Step 2: Format the JSON Payload in Zapier

In your Zapier Zap:

  1. Add a Webhooks by Zapier → Custom Request action
  2. Configure as follows:
    • Method: POST
    • URL: paste the WP Webhook URL from step 1
    • Headers:
      • Content-Type: application/json
    • Payload Type: Raw
  3. Paste your raw JSON in the body:
{
  "post_id": "18764",
  "post_type": "wpsl_stores",
  "manage_meta_data": "{\"update_post_meta\":[
    {\"meta_key\":\"wpsl_cell\",\"meta_value\":\"{{Cell Number from Monday}}\"},
    {\"meta_key\":\"wpsl_email\",\"meta_value\":\"{{Email from Monday}}\"},
    {\"meta_key\":\"wpsl_prosthetist\",\"meta_value\":\"{{Prosthetist Name}}\"},
    {\"meta_key\":\"wpsl_phone\",\"meta_value\":\"{{Phone Number}}\"}
  ]}"
}

🔁 Replace {{...}} with dynamic fields from Monday (Zapier’s field picker)

✅ Required Formatting Notes

  • manage_meta_data must be a JSON string, not a JSON object
  • All " inside the manage_meta_data value must be escaped as \"
  • Each field should be in the format:jsonCopyEdit{ "meta_key": "your_key", "meta_value": "your_value" }

✅ Common WP Store Locator Field Names

Field NameMeta Key
Phonewpsl_phone
Cellwpsl_cell
Emailwpsl_email
Prosthetist Namewpsl_prosthetist
Address (street)wpsl_address
Citywpsl_city
Statewpsl_state
ZIPwpsl_zip
Countrywpsl_country

Note: Formatting manage_meta_data in Zapier

When using the manage_meta_data field in Zapier with WP Webhooks Pro, it must be formatted as a single-line, escaped JSON string inside your main JSON payload.

Why?

  • Zapier parses multi-line or improperly escaped strings incorrectly
  • Any formatting error can cause the post_id or entire request to be dropped
  • WP Webhooks will then return the error: "The post id is required"

✅ Always follow these rules:

  • Put the entire manage_meta_data value on one line
  • Escape all quotes (") as \"
  • Do not include line breaks or trailing commas
  • Use Payload Type: Raw and header Content-Type: application/json in Zapier

Recommended Tool:
Use https://jsonstringify.org to convert a valid JSON block into a properly escaped single-line string.

Example of working format:

"manage_meta_data": "{\"update_post_meta\":[{\"meta_key\":\"wpsl_cell\",\"meta_value\":\"555-000-1111\"}]}"

This structure is critical for updates to work reliably through WP Webhooks.

✅ Verifying Updates

  • Use phpMyAdmin or query your DB:sqlCopyEditSELECT * FROM wp_postmeta WHERE post_id = 18764 AND meta_key = 'wpsl_cell';
  • Or use a plugin like Show Post Meta to view meta fields in WP admin

🛠 Troubleshooting

SymptomFix
"meta_data": falseYou’re not using manage_meta_data correctly (check escaping)
"manage_meta_data Success": true but no updateMeta key might be filtered or silently rejected; use update_post_metaformat
Zapier failsConfirm JSON is valid and escaped — use JSONLint or jsoneditoronline.org

💡 Tip: Generating Meta String Easily

Use the Meta Data Generator from WP Webhooks to build your string visually.

Additional Notes & Resources

Required Plugins

  • ✅ WordPress site with WP Store Locator

  • ✅ WP Webhooks Pro

  • ✅ A Zapier account with access to the Webhooks by Zapier app

  • ✅ Your WP Webhooks endpoint configured to receive the update_post action

Quick Steps

  • Create a webhook in WP Webhooks Pro with the action set to update_post.

  • Copy the webhook URL from WP Webhooks and use it in your Zapier “Webhooks by Zapier → Custom Request” action.

  • In Zapier, set the following options:

    • Method: POST

    • Payload Type: Raw

    • Headers: Content-Type: application/json

  • Use a JSON body where the manage_meta_data field is a properly escaped string that looks like this:

    swift
    {
    "post_id": "YOUR_POST_ID",
    "post_type": "wpsl_stores",
    "manage_meta_data": "{\"update_post_meta\":[{\"meta_key\":\"wpsl_cell\",\"meta_value\":\"5559990000\"}]}"
    }
  • Replace the static values with dynamic fields from Monday.com using Zapier’s field picker (e.g., {{Phone}}, {{Email}}).

  • Test the Zap, then confirm the update by checking the post in WordPress or querying the wp_postmeta table.