Page MenuHomePhabricator

Feature request assessment: Zendesk macro updater
Open, In Progress, Needs TriagePublic

Description

Updating translated Zendesk macros is a workflow that Donor Relations has long wanted to improve. There are two components, which are managing the translations and then deploying the revisions to Zendesk. @SBorriello is looking at external vendors for products which may solve for one or both of those.

This Task is a request to evaluate whether we might solve for the second component in-house. We want to eliminate manual copy / paste when deploying batches of macro translation updates into Zendesk, and are curious whether Fr-Tech might build an extension that would enable us to do this.

Some considerations:

  • Zendesk does enable a form of bulk importing of dynamic content. We do not currently use dynamic content, but this documentation may have information about how bulk importing can work. One limit to how they do this is that it seems like you have to import /export everything, rather than selecting just the desired macros from a list. More info re: dynamic content management is here.
  • Someone built an app that looks like the kind of bulk updater we might want, called Editz. It’s a few years old now, has only 50 installs and the reviews are not too promising, but their details on Github might include things we could replicate or improve?
  • I have a support ticket open with Zendesk about which of their API documentation might be relevant to such a project. So far their info on Integration Services may be the most useful, but if I receive anything helpful from them I'll add it in this Task.

Could we make a way for us to bulk update just the macros for which we have new translations, and if so, how big of an ask would this be?

Event Timeline

One possible solution might be, is it possible to use Google docs to publish updates to Zendesk. Google Cloud says their "Zendesk connector lets you perform insert, delete, update, and read operations on Zendesk database."

A third party product called Latenode offers ZD=Google integration, but I don't think they offer macro updates in their features list.

To provide an example we are aiming to solve for: to prepare for our LATAM campaign, I recently changed "Thank you" in Portuguese from "Obrigado" to "Agradecemos" (We appreciate) in all Portuguese-language macros. The reason for this is that previously female agents needed to change the greeting from "Obrigado" to Obrigada" to make it grammatically correct, which required extra time. So, we changed the wording used so that it didn't need to be customized by gender of the sender. To make the changes in all 300+ macros, it took approximately 12 hours of labor, as every macro had to be changed individually in Zendesk. A search and replace/bulk edit feature would be extremely helpful for future tasks like these!

We have done a similar project like this before for the email translations, it went from google docs to using message templates in civi

AKanji-WMF subscribed.

In discussion, this looks like a larger/complex task - penciling in a larger exploration in the next Q

Just to update, aspirationally this is in the queue to scope more in June 2025.

@AKanji-WMF thanks for the update - QQ on this, as if we are able to do it in-house we would like to ensure this is roadmapped in for the APP for next fiscal year if it looks like it's going to be a big job. The current set up is not working at the scale we now need, and as a result we didn't do the translation refresh this fiscal year for external translations as it was too much of a heavy lift.

Do you know if/when this will be in next year's annual plan if we are able to do this in-house?

Thanks!

Thanks @krobinson - the team would like to have an initial scope so we can get a better sense of the size - our pref would be to do it internally. I'll book the scoping soon so that we can have a convo about prioritization with you.

Prioritized after Gravy and donor portal, and after EN6C

Breadcrumb from Naa, our Zendesk rep:

Zendesk’s Update Many Macros endpoint allows batch updates, and you can specify exactly which macros to update by passing in only their IDs. In practice:

You’d fetch a list of macro IDs needing update.
Prepare a JSON payload for only those.
Call the API endpoint to update them.

AStein-WMF changed the task status from Open to In Progress.Aug 22 2025, 4:42 PM
AStein-WMF claimed this task.

I've been playing around with the API and this looks very doable using the update macros endpoint!

I'll being writing a script for this! I think next steps on my end are:

  1. write a script to test reading/ updating a sample macro
  2. get QA from someone on donor relations to make sure everything looks good
  3. discuss how we want to operationalize this script with donor relations. e.g. how should this trigger? do we want to refresh all macros every time the script runs and if not- how will we identify only the macros to be updated

I'll keep y'all updated, but in the meantime- is there a specific DR contact i should be in touch with as i develop?

@SBorriello can you please confirm the only field that will need updating is Comment/ description?

@AStein-WMF wrote:

@SBorriello can you please confirm the only field that will need updating is Comment/ description?

Correct: When we edit a macro translation, we only paste the edited macro in the "Comment/Description" field and save. We generally only work in that field.

I understand these translations are not required until Jan or March - currentlly slotting this to be worked on mid-Q3. @krobinson please let me know if otherwise!

this is my understanding too. A date on which we want to run the sync would be helpful- i can plan to meet with folks beforehand for testing to make sure we're ready to run the sync in prod!

I think mid-late March feels realistic - generally we won't have the translations done before then. We first do the English-language messaging updates, generally in February once we're over the end of year hump, and then send the new versions for translation March onwards, but @SBorriello can likely confirm better than me, as he manages that process.

Yes, late March sounds better to me, too. Thank you for your help!