Showing posts with label tech. Show all posts
Showing posts with label tech. Show all posts

Saturday, September 29, 2012

Custom setting values in Salesforce email templates

Yesterday, as I was playing with a simple CRM idea in Salesforce, I came across an unexpected roadblock:  There didn't seem to be a way to merge custom setting values into an email template. A search on Google seemed to confirm this suspicion, as another admin asked the same question and arrived at the conclusion, "No, it's not possible." But, trusting Salesforce's immense power and flexibility, and hoping at all costs to avoid Apex code, I pursued my gut feeling that there must be a way.

And without disappointment, I discovered through some quick experiments that Salesforce does indeed make it possible to merge custom setting values into email templates.

The idea is simple: Put the custom setting value into a formula field on the desired object, and then merge the formula field value into the email template.

Below is an example of how it could work for you. Let's say that you want there to be a default level of optimism associated with every contact in your org. Imagine that you intend to merge this optimism into your automated emails. How would you do it?


  1. Create a new custom setting labeled "Optimism Setting" with Setting Type set to "Hierarchy". The object name (a.k.a. API name) should be set to Optimism_Setting.
  2. Within Optimism Setting, create a new text field labeled "Default Forecast". The field name (a.k.a. API name) should default to Default_Forecast.
  3. Looking at the Optimism Setting page, click Manage and then set the default organizational level value for Default Forecast to "blue skies and sunshine".
  4. On the Contact object, create a new formula field labeled "Optimism Forecast". The field name should default to Optimism_Forecast.
  5. Insert the custom setting value for Default Forecast into this field. Your formula should look like this: $Setup.Optimism_Setting__c.Default_Forecast__c
  6. Save the field, and now you're ready for email merge!

At this point, you should be able to inject the custom setting value for Default Forecast into any email template simply by including the {!Contact.Optimism_Forecast__c} merge field.

Note:  If you do complete this exercise, I highly recommend keeping the Default Forecast at "blue skies and sunshine" in your org.

Thursday, July 12, 2012

No Conference Room, No Problem

When I first settled into my new office, I was a bit taken aback by the fact that there was no easy way to reserve conference rooms in Outlook.  I was accustomed to being able to open my calendar and easily pull in people and rooms to determine the right combination of time and place to hold a meeting.  Instead, I was told that if I want to reserve a room I have to go through a person who is responsible for booking all of the conference rooms.  This is crazy, I thought at the time.

But all of a sudden, I reflected on this "ridiculous complication"and realized that the "problem" may actually be a blessing in disguise.  No conference room?  Great!  Let's avoid the abrupt interruption to people's days, the requirement to drop everything that people are doing just to get together and "talk it through" when a few emails (or Chatter, or Google docs with comments) would've worked as well if not better.

Part of the reflection came from a great video that a friend shared with me:  Jason Fried's convincing explanation for why work doesn't happen at work.

I remember that at my previous organization there was constant talk about "too many meetings" and "meeting management" and "getting things done", but I felt that the organization was never able to change the cultural practice of calling meetings.  In retrospect, perhaps the culture was enabled by the fact that it was so easy to get a room and setup a meeting in Outlook.  Technology could have very well been the culprit, ironically hurting productivity in the organization instead of improving it.

So... No conference room?  No problem!  In fact, we may all be better off this way.

Monday, July 9, 2012

Ideal Enterprise Platform

Before I officially started at Granite State College, one of my new colleagues in the Ed Tech department asked me a question along the lines of, "What is your ideal platform?"  The question was asked in the context of information technology, and at the time I interpreted the question as, "Which enterprise information system would you implement if you had your choice?"

In my head, I immediately started listing products such as Google Enterprise, Microsoft SharePoint, salesforce.com Chatter, MediaWiki... but I think I lost sight of the more important question:  "Why would platform x, or any platform for that matter, be ideal?"  What do I hope to accomplish?  What kind of culture do I want to cultivate?  Technology is but a means to an end.  So, what does that end look like?

With the question having shifted away from technology and into culture and people, I started painting a mental picture of the ideal organization, where all staff...
  • work toward a common goal;
  • consider the best interest of the organization in making decisions;
  • consider the impact on others when making decisions;
  • trust one another to do what's right;
  • are empowered to do what's right;
  • are human and will make honest mistakes from time to time.

I want to create an environment where people are not only highly productive but also happy in doing great work that matters.

Is there a single product that can facilitate the creation of such an organization?  I don't think so.  I also don't think there ever will be a single product as an all-encompassing solution.  So, as an organization, the next best thing is to develop critical competencies in identifying best-in-class solutions and integrating the snot out of everything.