In our org we have a Knowledge article type that has a lookup field to Contact. We also have duplicate Contacts. When merging duplicate Contacts, Salesforce does not take into account that there might be Knowledge articles that reference (one of) these Contacts. Lately, Salesforce has acknowledged this as a bug, but it has not made any promises on when it will be fixed.

As a result, we are left with Knowledge articles that reference deleted Contacts. Such articles cannot be edited, by anyone, not even by System admins. You get some kind of Permission denied error. Undeleting the referenced Contact makes the article editable again.

Now if we notice this too late, say after 15 days, the Contact cannot be undeleted anymore. And the article can never be edited anymore. This is where we are currently stuck with Salesforce support. Having Salesforce do the undelete (after 15 days), costs serious $$$. Salesforce is thinking of other options, because having to pay for something that is caused by a Salesforce bug is not an option.

Does anyone here have any other options? We tried lots of things, from Apex to updates via Workbench. None worked, because record updates require that articles are in Draft state, and we cannot get them in Draft state, because the reference to a deleted Contact seems to prevent that (which is another bug, if you ask me).

Also: how could we detect this situation? I have not been able to come up with a query on articles that reference deleted records.

2 Answers 2


just a preliminary stab at this but what if you change the way that the contact is referenced? Instead of using ID use the email field and name of the contact which will ensure the correct reference but will not cause a failure in deduplicating. Another thought is to not allow deletion of a record which is part of a lookup: https://developer.salesforce.com/forums/?id=906F00000008pi9IAA

Thoughts... but hope they help!

  • Thanks for the suggestion. The reason why the ID is used, is because we use the pop-up window that is displayed when hovering over the lookup. I don't quite understand how you would show the email field and name, via a formula? But then we can't use the pop-up window functionality. The current lookup attribute is set to 'Clear the value of this field', which in this case is violated by Salesforce, because the record is deleted, but the field is not cleared. Commented Aug 18, 2015 at 12:59
  • You can edit the lookup windows..... 1. Name->Setup 2. From App Setup click on Customize 3. Select Object and expand it 4. Click on Search Layouts there you will see Look Dialogs 5. click on Edit and include the columns you want..
    – binaryLady
    Commented Aug 18, 2015 at 14:44

Salesforce has solved the problem by removing the references to the deleted Contact. The R&D department had to do this.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .