我们目前正在将Salesforce用于我们的销售流程,其中包括尝试让人们注册我们的“帐户管理系统”,提交详细信息,文档并获得管理员的审核。这是SF之外的整个PHP系统,我们称之为“Cherry”。
我们现在正在做的是:Cherry会跟踪帐户,但发生的所有事情都会发送到SalesForce,因此我们的销售人员会列出要联系的潜在客户。当Cherry中的任何内容发生变化时,SalesForce中的内容会更新,包括在客户获得Cherry的管理员审核后将SF Lead转换为帐户。 (在此之后我们仍然更新SF数据,但这不太重要,因为现在已经是客户了)
要从Cherry发送信息到SF,我只是使用“SforceEnterpriseClient.php”API库,并调用该库提供的Create / Update / Delete方法。我不知道是否有任何其他方式诚实,但我们的需求非常简单。只需创建潜在客户,更新他们的字段,然后将其转换为帐户。
我的问题是,我们的销售人员希望使用与时间相关的工作流程,每隔几天自动通过电子邮件发送潜在客户,将其从一种状态更改为另一种状态,等等。但是,一旦潜在客户“被”采取行动这些工作流程,记录被锁定(直到执行操作的时间,通常是很多天),我尝试通过API(更新它,或特别是“convertlead”)的任何操作都失败,错误为RECORD_IN_USE_BY_WORKFLOW。 / p>
现在,这似乎是一种非常常见的情况(使用API更新记录,并使用与时间相关的工作流程)。事实上,对于我们的销售人员来说,使用SalesForce的全部意义似乎是工作流程,所以我很惊讶基本的东西,因为这失败...
所以基本问题是....
- 这个问题有什么明显的方法吗? (使用其他一些API?做一些与工作流程不同的事情?)
- 如果没有,有没有办法从其工作流程中“分离”潜在客户? (或以某种方式解锁该记录)
- 如果没有,是否有任何变通方法意味着在SalesForce方面进行更多编程?
非常感谢你的帮助 丹尼尔
答案 0 :(得分:5)
您绝对无法使用待处理的工作流操作转换潜在客户。但是,您应该能够更新潜在客户。特别是,您必须以不符合工作流规则的方式更新潜在客户。要实现此目的,您可以考虑添加一个名为“从工作流中排除”的隐藏复选框字段,您可以将其作为工作流程条件的一部分。在这种情况下,您需要进行更新调用以将此字段设置为true。
一旦Lead被取消了工作流规则的资格,工作流操作将从队列中删除。然后你可以转换潜在客户。