Hello everyone, I just started using espocrm. How can I set it so that the email addresses in Account/Contact/Lead can be reminded of duplicates?
Email address conflict determination
Collapse
X
-
Hi Peanut,
You can use the API Before Save Script feature so that if such an email address is already set for some Account, Contact or Lead, then a duplicate error message would be displayed.
For example, you can set the following formula script for the Account:
Code:$emailAddressesCount = array\length(emailAddressData); $emailAddressData = json\encode(emailAddressData); $emailAddressesArray = list(); $i = 0; while ($i < $emailAddressesCount) { $emailAddress = json\retrieve($emailAddressData, string\concatenate($i, '.emailAddress')); $emailAddressesArray = array\push($emailAddressesArray, $emailAddress); $i = $i + 1; } $y = 0; while ($y < array\length($emailAddressesArray)) { $singleEmailAddress = array\at($emailAddressesArray, $y); if (record\exists('Contact', 'emailAddress', $singleEmailAddress)) { recordService\throwForbidden('Contact with these email addresses already exists.') } if (record\exists('Lead', 'emailAddress', $singleEmailAddress)) { recordService\throwForbidden('Lead with these email addresses already exists.') } $y = $y + 1; }
Code:$emailAddressesCount = array\length(emailAddressData); $emailAddressData = json\encode(emailAddressData); $emailAddressesArray = list(); $i = 0; while ($i < $emailAddressesCount) { $emailAddress = json\retrieve($emailAddressData, string\concatenate($i, '.emailAddress')); $emailAddressesArray = array\push($emailAddressesArray, $emailAddress); $i = $i + 1; } $y = 0; while ($y < array\length($emailAddressesArray)) { $singleEmailAddress = array\at($emailAddressesArray, $y); if (record\exists('Account', 'emailAddress', $singleEmailAddress)) { recordService\throwForbidden('Account with these email addresses already exists.') } if (record\exists('Lead', 'emailAddress', $singleEmailAddress)) { recordService\throwForbidden('Lead with these email addresses already exists.') } $y = $y + 1; }
Code:$emailAddressesCount = array\length(emailAddressData); $emailAddressData = json\encode(emailAddressData); $emailAddressesArray = list(); $i = 0; while ($i < $emailAddressesCount) { $emailAddress = json\retrieve($emailAddressData, string\concatenate($i, '.emailAddress')); $emailAddressesArray = array\push($emailAddressesArray, $emailAddress); $i = $i + 1; } $y = 0; while ($y < array\length($emailAddressesArray)) { $singleEmailAddress = array\at($emailAddressesArray, $y); if (record\exists('Account', 'emailAddress', $singleEmailAddress)) { recordService\throwForbidden('Account with these email addresses already exists.') } if (record\exists('Contact', 'emailAddress', $singleEmailAddress)) { recordService\throwForbidden('Contact with these email addresses already exists.') } $y = $y + 1; }
👍 1
Comment