From Whatsap to WIX CMS in 2 minutes - Symphony by WIX use case

Every client has a way they already send you work, and it’s usually WhatsApp.

Mine builds campervans and sends me the advert as a wall of emoji bullets plus 25 photos. Each new van meant about 30 minutes of the same job: write the spec, upload the photos, fill the CMS fields, draft the newsletter.

I tried automating it twice with rules and gave up both times, because the messages are never the same shape. Mileage buried mid-sentence, price sometimes missing entirely.

What worked was treating it as hiring rather than automating.

Posting the setup here because the useful part isn’t Symphony itself, it’s the order you do things in, and I got that wrong the first time.

How I did it:

  1. Separate workspace per client.
    Agents, chat threads, and files stay isolated. If you manage a lot of sites, you don’t want one agent picking up conventions from another client’s CMS.

  2. Build one narrow agent.
    I asked Maestro for a Wix CMS specialist with an actual job title rather than a general “help me with my site” assistant. It’s called CMS Guy, and it sits in a team of nine (I keep hiring them like it’s my job…).
    I found that broad agents gave me broad solutions, so I go very specific to get the outcome. It takes more time but is worth the investment in the long run

  3. Train it on live data, not a template.
    This is the step I’d skip if I were rushing, and it’s the one that matters. I pointed it at roughly 20 listings already live in the Cars collection and told it to learn the format. Field structure, how the spec bullets read, where price goes, how the options list is written. A few back-and-forths made it perfect (almost like training an intern :wink:

  4. Connect the channel the client already uses.
    Business WhatsApp into Symphony. They send the same messy advert they always have, I forward it, the work starts. No portal, no login, no training session.

  5. Let it derive its own file naming.
    It reads the registration off the number plate in the photos (I told him to do that - as the client never sends them in the copy…), creates a Media Manager folder named after that reg, and files every image into it. Main image comes out as YM21XXX_24_Main_Photo.jpeg. When it can’t make the plate out, it asks rather than guessing, which I’d take over a confident wrong answer.

  6. Decide where the human gate sits, per job.
    The listing publishes automatically because the format is predictable and I’ve checked enough of them. The newsletter always waits for approval. Nothing reaches a client’s mailing list without a human reading it.

Tools, Documentation and APIs:

  • Symphony by Wix (workspaces, agents, routines)
  • Wix CMS, single collection, Cars
  • Wix Media Manager for the reg-plate folders
  • Business WhatsApp connected to the workspace
  • Wix Email Marketing for the newsletter draft

Worth knowing: the agent works against the CMS through the standard Data APIs, so anything you’d normally do with wix-data is fair game if you want to sanity-check or bulk-fix what it writes. Same for Media Manager folders.

Example:

Live listing the agent built end to end, straight from a forwarded WhatsApp message:

2021 VW Crafter, 2.0 TDI, MWB, four berth pop top, 114,112 miles, shower, night heater, solar. All of it lifted out of the advert text and put into the right fields; photos filed by reg.

A nice surprise:

  • Updates come through the same pipe:
  • Van sold, they send SOLD.
  • Price drops, they send the number.
  • Listing updates there and then, which quietly killed the stale-listing problem on that site.

30 minutes down to about two, and the two are me reading a newsletter draft on my phone.

I am curious — what would you add to this workflow to make it more efficient?

2 Likes

Really enjoyed this, the reg-plate file naming trick is clever. One thing I’d add: a nightly reconciliation job that diffs the Cars collection against what’s actually live. It catches the case where a message gets parsed fine on the surface but a field silently lands wrong, price grabbed in the wrong format, mileage pulled from the wrong sentence. Cheap to build with wix-data, and it means your human gate only has to look at flagged rows instead of skimming every listing.

Also curious how you’re handling duplicate SOLD messages, does it just no-op if the listing is already marked sold, or did that trip you up early on?

So, to answer your question, I’m handling sold items. I have a tag that the live items on the website are sorted and filtered by.

Then, when it comes to marking an item as sold, I am simply telling Symphony, “Hey, this van is sold; change the status.”

Then Symphony asks for the reg or gathers that from the image I forwarded, goes into the CMS, and changes the status from available to sold, and changes the color of the status field so that it displays in red on the website.

Hello @Vision_Marketing,

Thanks for walking through the sold flow, that makes sense. Since Symphony writes the status change straight into the CMS, I’d still add the read-back check: after each update, have it re-read the row and confirm the status and the red colour field match the reg. That catches the occasional silent miss without anyone scanning the whole list.