Browse Category: Salesforce.com

Journey Doesnt Gets Copied in Marketing Cloud (ExactTarget)

Faced a strange issue with copying/cloning Journey Builder in Marketing Cloud. When trying to copy an existing Journey into a new one, it shows “Success” message but the Journey doesnt actually gets created. I tried to refresh & relogin several times but still wasnt appearing.

copy marketing cloud journey

 

 

Solution:

Journey Name & Description doesnt allow special characters. Since I had “&” sign there in description, it didnt work although I wish Marketing Cloud should have shown some error. Look here They do while creating a new Journey but not when we copy an existing one. Once I changed “&” to “and”, it worked.

 

 

Use preferred Locale for your users (Translation Workbench)

 

And the good news is that we can translate field labels,custom labels, custom settings, Picklist values etc. in multiple languages and can show to users in their preferred locale.

This is a small demo to translate field labels in Hindi, you are just 4 steps away!

1. Enable the Translation Workbench for your Org.

Go to: Setup -> Administer -> Translation workbench -> Translation settings

Enable Translation Workbench

 

Click on “Enable”.

2. Add Language Preference:

From Setup, Go To: Company Profile -> Language Settings

Choose your Language preference and add the language from available languages to displayed languages.

Language Preferences

 

Now these languages will be available for translations. Add required language from Translation Settings.

Go to: Setup -> Translation Workbench -> Translation Settings and add Language(s).

Added Languages
Added Languages

 

3. Configure/Override the Field-labels/Picklist Values/HelpTexts etc.

Go to: Setup -> Translation Workbench -> Translate

Select the filter criteria and configure translations.

Field Label Translation
Field Label Translation

(NOTE : Standard field-labels cannot be translated for Platform-only languages, for more details:  https://help.salesforce.com/HTViewHelpDoc?id=faq_getstart_what_languages_does.htm)

 

4. Update User Locale 

Go to: Setup -> Manage users -> Users and select an user.

Update user record with preferred Locale and Language.

Update User Locale
Update User Locale

 

Yeay!  you are done with the translation.

Now, you can see translated record field labels on each of your Account record for users who have Hindi as Default locale.

Translated Labels On Record
Translated Labels On Record

Similarly, Custom Labels, Custom Settings, Global Picklist Values, Picklists etc can be translated.

Languages supported by SFDC Workbench : https://help.salesforce.com/HTViewHelpDoc?id=faq_getstart_what_languages_does.htm

Lead Conversion: Order of execution of triggers

On conversion of Lead following is the order of execution of triggers of Account, Opportunity, Contact and Lead:


1) Account Before Trigger
2) Account After Trigger
3) Opportunity Before Trigger
4) Opportunity After Trigger
5) Contact Before Triger
6) Contact After Trigger
7) Lead Before Trigger
8) Lead After Trigger

  • All other processes(validations, workflows,approval process, process builders etc. ) executes as per standard order of execution with these triggers and if any exception occurs throughout this process then the complete transaction is rollback.
  • Execution of triggers of Account,Opportunity and Contact depends on the settings of lead conversion.

 

How to get last modified field value or previous field value without using Trigger

Today in this post i will explain you how you can get last modified value or previous value without using trigger

  1. Creating aText Field: Create aTEXT (255) field on the Object and name it say: Old Value

    2. Setting up the Workflow Rule + Field Update

 

  1. Go toSetup | Create | Workflows & Approvals | Workflow Rules
  2. New Rule
  3. Select theObject
  4. ClickNext
  5. Evaluation Criteria:created and every time it’s edited
  6. Rule Criteria:formula evaluates tor true
  7. Fomula:

AND(ISCHANGED(Picklist_Field_c),NOT(ISBLANK(TEXT(Picklist_Field_c))))

 OR

 IF(ISCHANGED(Picklist_Field_c),True,False)

Snap1

8. Click Save & Next

9. From underImmediate Workflow Actions, click Add Workflow Action to select Field Update

10. Select the Field to Update: Old Value

snap2

11. Select Use a Formula to Set the New Value

12. Formula:

TEXT(PRIORVALUE(Picklist_Field_C))

snap3

  1. Click Save
  2. Click Done
  3. Click Activate

custom writing

Docusign Salesforce Field Mapping

In this tutorial i am going to explain how we can map docusign fields with salesforce object fields.

Most of the time we need the user data to be writtneback to the salesforce. Once user finish it’s docusign document. At that time we need to create the custom fields on docusign. I hope you already have installed and setup docusign manage package in salesforce .

Login to the docusign and select your uploaded template, you will see the following screen.

docusign_field_screen1

You can see there are two sections for field one is standard section which is provided by docusign and other one is custom. We’ll use custom. In order to create (or you can edit existing) custom field click on Edit button in in custom field section. You’ll see the screen for adding a new field.

docusign_field_screen2

In order to map field with salesforce you need to check on Relate to salesforce checkbox and select the object and it’s field you want to map. If you want field data enter by user should be writeback to the salesforce then check writeback checkbox. Once you map this field just click on Done button you will see your field in custom field section in docusign. Like this you can add one or more fields(try to map all the fields with the same or related object in salesforce).

Great!!..Now that you have mapped field, the next step is you’ll drag and drop those added custom fields on docusign document. Now send docusign document from salesforce to your email id, finish the document and check if data is writeback or not back to the salesforce.

Auto populate related field when lookup filed is selected at run time in visualforce page.

Sometimes we need to populate related field according to selected lookup filed for the form submissions etc. and we need this to be happen at run-time. ex: In visualforce form contains lookup field of Account object and two field like Email,Phone when user select Account lookup the Email and Phone field will be populated  from Account’s email and phone field.

We can achieve this using <apex:actionsupport> tag .

Vf page:

<apex: page standardController=”Test__c” extensions=”AutoPopulateExample “>

<apex:form>

<apex:pageBlock>

<apex:pageBlockSection>

<apex:inputField value=”{!Testing.Name__c}” />

<apex:inputField value=”{!Testing.AccountName__c}” >

<apex:actionSupport event =”onchange”  action=”{!autoCal}”   reRender=”accEmail,accPhone”>

</apex:inputField>

<apex:inputField value =”{!Testing.Email__c}”  id=”accEmail” />

<apex::inputField value =”{!Testing.Phone__c}”  id=”accPhone” />

</apex:pageBlockSection>

<apex:commandButton value=”Save” action=”{!save}” />

</apex:pageBlock>

</apex:form>

</apex:page>

 

Apex Controller:

public class AutoPopulateExample

{

public Test__c Testing {get;set;}

public AutoPopulateExample(ApexPages.StandardController controller)

{

Testing = new Test__c();

}

//function is called from actionsupport event

public PageReference  autoCal()

{

Id accId = Testing.AccountName__c;     // collecting account id from visualforce page

List<Account> accLst = [select id,Email,Phone from Account where id=:accid];

Testing.Email__c = accLst[0].Email;      // assigning Account email to visualforce page

Testing.Phone__c= accLst[0].Phone;    // assigning Account phone to  visualforce page

}

}

 

 

 

 

Duplicate Management in Salesforce

Duplicate Management in Salesforce is very easy. You just have to create a Matching rule on your object which will decide the criteria to detect Duplicates. Then you have to create a Duplicate Rule on your object which will decide what actions to trigger when duplicates are found.

In Matching Rule you have to select the object on which you want duplicate detection, enter name for the rule, Unique name gets automatically filled up replacing spaces with Underscore character, you can give description for the rule after that and the most important thing is to select the Criteria for Duplicate checking i.e. which field/s need to be checked for duplicate values. You can also give and /or conditions with the criteria to meet your requirements.

eg. you can check if the FirstName and email Or LastName and email  fields are duplicated inside Leads.

In Duplicate Rules you can select Record Level Security whether you want to Bypass sharing rules or you want to Enforce sharing rules. After that you can select Action on Create and Edit, whether you want to allow duplicates or you want to block them throwing an error. Along with this you can also do reporting on duplicates and throw error even after allowing duplicate creation. After this you need to select the Matching Rule for your Duplicate Rule.

You can also provide filter Criteria in you Duplicate rule which will check only those records which fall into this criteria for duplication.

“h is not a number” Error in Salesforce For Outlook Side Panel

When you have configured your Salesforce to Outlook successfully and still you get an error on your Side Panel in Outlook that “h is not a number”, then that issue is because of Old Internet Explorer version on your computer.

To solve this Issue you just have to update your Internet Explorer to a version greater than version 11.

This error occurs because Salesforce for Outlook Desktop Application uses IE as its connection to the Internet. So if the IE version is older than 11 then it does not provide response to the Salesforce for Outlook Desktop Application, thus resulting in an error.

‘Immediate’ attribute for commandbutton and commandlink in VF page

This is basically used when we don’t want our validation rules to be fired during any server request.
It is a Boolean value that specifies whether the action associated with this component should happen immediately, without processing any validation rules associated with the fields on the page. If set to true, the action happens immediately and validation rules are skipped. If not specified, this value defaults to false.
We generally use it to make functionality of ‘Cancel’ button or ‘Back to Page’ button, where we don’t want validation rule to get executed. If we don’t use immediate=true then on click of cancel button also, validation rules will get executed.

—————————————— VF Page ————————————————-

<apex:form >
      <apex:pageBlock >
      <apex:pageBlockButtons location="both">
                  <apex:commandButton value="Save" action="{!saveAccount}"/>
                  <apex:commandButton value="Cancel" immediate="true" action="{!cancelPage}"/>
      </apex:pageBlockButtons>
      <apex:pageBlockSection >
             <apex:inputField value="{!account.name}"/>
             <apex:inputfield value="{!account.Type}" required="true"/>
      </apex:pageBlockSection>
      <apex:outputText value="Account Added" rendered="{!isAdded}"/>
      <apex:outputText value="Account Not Added" rendered="{!isCancel}"/>
      </apex:pageBlock>
 </apex:form>

—————————————– Controller ———————————

public with sharing class AccountExtension {
public Boolean isAdded{get;set;}
public Boolean isCancel{get;set;}
public AccountExtension(ApexPages.StandardController controller) {
isAdded = false;
isCancel = false;
}
public pagereference cancelPage(){
isAdded = false;
isCancel = true;
return null;
}

public pagereference saveAccount(){
isAdded = true;
isCancel = false;
return null;
}
}

Integrating Salesforce with Formassembly

To integrate Salesforce with Formassembly to get data from Web forms into Salesforce object you need to buy the package from the website www.formassembly.com. They will provide you with an URL for your organisation and you can login from there using the credentials provided by formassembly.

After you Login into the website you can create forms according to your need with any content you want. You have various types of content you can add into the form to get correct data from the Users of your Website where you will upload the form by using the Form URL and adding it to the Iframe in your website.

<iframe src=”URL for your form goes here” height=500 width=500>

After you are done with designing your form comes the tricky but easy part of connecting the form to Salesforce. The Data submission is event based in formassembly. For that part you need to click on the Connectors tab of your form.

Formassembly ConnectorYou have 4 events on which can send data to salesforce. 1-when the user is viewing,2-when user saves for future submission,3-when user submits the form,4-post submission.

You can add a connector according to your need to any event you want and then configure the connector.

Formassembly Connector Config

In the configurations you need to enter the credentials for your salesforce organisation and then enable the connector. After that you need to add the instructions for the data you want to send to salesforce. You can Insert,Update,or Upsert data into salesforce according to the conditions you provide. You can also manipulate the data before saving it in to the salesforce object. Lookups on existing data in salesforce is also possible in the instructions part of formassembly.

Formassembly Connector Authentication

 

Lookups on existing data in salesforce is also possible in the instructions part of formassembly.

Formassembly Connector Instructions