在电子邮件模板中写入选项列表键而不是显示值
Write picklist key in email template instead of display value
我需要帮助如何在 Salesforce 的出站电子邮件中编写潜在客户 国家/地区代码。
我将此电子邮件用于外部系统的自动化。
无论我如何尝试,完整的国家名称都被写为代码和名称。
我试过的:
我在 Process Builder
中创建了一个工作流,当在 Salesforce 中创建新的 Lead
记录时,它会发送一封电子邮件。电子邮件模板如下所示:
companyName: {!Lead.Company}
countryName: {!Lead.Country}
countryCode: {!Lead.CountryCode}
<more code here removed for brewity>
(电子邮件模板是通过 工作流程操作 ->电子邮件警报 引用的,但这应该不相关。)
Salesforce 配置为使用国家/地区的默认 国家/地区 选择列表。
通过 Web-to-Lead Web 表单在 Salesforce 中创建新的潜在客户非常有效,其中 country_code
定义为:
<select id="country_code" name="country_code">
<option value="">--None--</option>
<option value="CH">Switzerland</option>
</select>
通过以上配置,我可以从 Web-to-Lead 表单自动创建新的 Lead。
在 Salesforce 中,潜在客户的国家/地区如预期的那样 瑞士。
但是 Salesforce 自动生成的电子邮件将国家名称写了两次:
companyName: Test company
countryName: Switzerland
countryCode: Switzerland
我的期望:
companyName: Test company
countryName: Switzerland
countryCode: CH
普通的电子邮件模板对于您的需要来说太简单了。 SF 中的很多内容都是为了用户友好而设计的,通常您会看到选择列表标签,而不是保存在数据库中的实际值。如果您启用了翻译 workbench,您会在 French/German/what 中看到标签。
启用国家和州选项列表后,当您创建新记录时,UI 中的普通文本字段消失了。您认为您编辑了旧的国家/地区,但实际上显示了国家/地区代码,当然它具有值 CH,但显示的标签是瑞士。电子邮件也会尽职尽责地显示标签。
我认为您需要制作一个 Visualforce 电子邮件模板来实现此目的。像
<messaging:emailTemplate subject="62537607" recipientType="User" relatedToType="Lead">
<messaging:plainTextEmailBody >
Name: {!relatedTo.Name}
Company: Name: {!relatedTo.Company}
Country: {!relatedTo.Country}
CountryCode: {!relatedTo.CountryCode}
</messaging:plainTextEmailBody>
</messaging:emailTemplate>
使用 VF 电子邮件模板,您可以获得更多控制权,如果您需要特殊行为,您甚至可以制作一个 Apex 控制器(好吧,不是针对整个电子邮件,而是针对一个组件,您可以将该组件嵌入到电子邮件正文中) .默认情况下,将显示选项列表值,而不是标签。
例如,为称呼创建新的选择列表条目,标记为“Master blaster of disaster”,值为“Master”。如果将 {!relatedTo.Salutation}
添加到 VF 模板,您将只看到 Master
.
我需要帮助如何在 Salesforce 的出站电子邮件中编写潜在客户 国家/地区代码。 我将此电子邮件用于外部系统的自动化。
无论我如何尝试,完整的国家名称都被写为代码和名称。
我试过的:
我在 Process Builder
中创建了一个工作流,当在 Salesforce 中创建新的 Lead
记录时,它会发送一封电子邮件。电子邮件模板如下所示:
companyName: {!Lead.Company}
countryName: {!Lead.Country}
countryCode: {!Lead.CountryCode}
<more code here removed for brewity>
(电子邮件模板是通过 工作流程操作 ->电子邮件警报 引用的,但这应该不相关。)
Salesforce 配置为使用国家/地区的默认 国家/地区 选择列表。
通过 Web-to-Lead Web 表单在 Salesforce 中创建新的潜在客户非常有效,其中 country_code
定义为:
<select id="country_code" name="country_code">
<option value="">--None--</option>
<option value="CH">Switzerland</option>
</select>
通过以上配置,我可以从 Web-to-Lead 表单自动创建新的 Lead。 在 Salesforce 中,潜在客户的国家/地区如预期的那样 瑞士。 但是 Salesforce 自动生成的电子邮件将国家名称写了两次:
companyName: Test company
countryName: Switzerland
countryCode: Switzerland
我的期望:
companyName: Test company
countryName: Switzerland
countryCode: CH
普通的电子邮件模板对于您的需要来说太简单了。 SF 中的很多内容都是为了用户友好而设计的,通常您会看到选择列表标签,而不是保存在数据库中的实际值。如果您启用了翻译 workbench,您会在 French/German/what 中看到标签。
启用国家和州选项列表后,当您创建新记录时,UI 中的普通文本字段消失了。您认为您编辑了旧的国家/地区,但实际上显示了国家/地区代码,当然它具有值 CH,但显示的标签是瑞士。电子邮件也会尽职尽责地显示标签。
我认为您需要制作一个 Visualforce 电子邮件模板来实现此目的。像
<messaging:emailTemplate subject="62537607" recipientType="User" relatedToType="Lead">
<messaging:plainTextEmailBody >
Name: {!relatedTo.Name}
Company: Name: {!relatedTo.Company}
Country: {!relatedTo.Country}
CountryCode: {!relatedTo.CountryCode}
</messaging:plainTextEmailBody>
</messaging:emailTemplate>
使用 VF 电子邮件模板,您可以获得更多控制权,如果您需要特殊行为,您甚至可以制作一个 Apex 控制器(好吧,不是针对整个电子邮件,而是针对一个组件,您可以将该组件嵌入到电子邮件正文中) .默认情况下,将显示选项列表值,而不是标签。
例如,为称呼创建新的选择列表条目,标记为“Master blaster of disaster”,值为“Master”。如果将 {!relatedTo.Salutation}
添加到 VF 模板,您将只看到 Master
.