Desk - CRM Integration: SPAM Contacts (Auto Delete)

Desk - CRM Integration: SPAM Contacts (Auto Delete)

SPAM contacts is a useful feature, but when the CRM sync is used, it is very frustrating.

When a contact is marked as SPAM on Desk, I wish to do the same on CRM. When a SPAM contact is deleted, I would like it deleted from CRM.

The feature looks half-baked.

The following function can access a Contact, check the isSpam attribute, then if (true) delete the Contact from CRM
  1. r = zoho.desk.getRecordById("<ORGID>","Contacts","<CONTACTID>");

    spam = r.get("isSpam");
    crm_id = r.get("zohoCRMContact").get("id");
    info spam;
    info crm_id;

    deleteMap = map();
    deleteMap.put("module","contacts");
    deleteMap.put("id",crm_id);
    deleteResp = zoho.crm.invokeConnector("crm.delete",deleteMap);
    info deleteResp;
A more elegant solution would be to mark "IsSpam" against a CRM contact in CRM, then delete after x days.

The problems:
  1. From what I can see, the Record Update workflows for Contacts do not trigger when a Contact is marked as SPAM - so there is no way to trigger the function call. If they did fire, the function can be called.
  2. "IsSpam" is not exposed to workflow criteria (and workflows don't trigger anyway)
  3. "IsSpam" is not exposed to searchRecords - so we cannot even search for SPAM contacts (to use in a scheduled task).
  4. "isSpam" is not synchronised to CRM - so we cannot handle in CRM.
Please can you address these issues, or at least - expand the functionality:
  1. Allow workflows to fire when a Contact or Ticket is marked as SPAM
  2. Expose IsSpam to workflow criteria.
  3. Allow the "isSpam" attribute to be synced to CRM.
It is actually an easy solution BUT the small omissions make any solution impractical.

We (as with others) are having to manually compare "potential" contacts on CRM, against those on Desk - then delete them manually.

That is not efficient or practical, particularly when the systems are meant to be in sync.

Thanks

(The only solution would be to loop through ALL Desk Contacts as a scheduled task, check for isSpam, then trigger a delete... not elegant or efficient)