What is the future of Salesforce.com?

When I took my last exam at college, I thought I was done – no more exams.  Little did I know at the time that I’d end up in IT and would take more exams (and continue to do so) than during my college life.

I used to work in the Siebel/Oracle CRM space before, I fell into the Siebel bandwagon in 2001 and rode it until 2010.  Then I switched to Salesforce and what a refreshing change it was.

Salesforce is a hot topic right now and will probably stay that way for at least the next 5 years.  I don’t think any technology will ever last forever, so it is definitely possible Salesforce might experience a slow death, just like Siebel.  At this point however, I can’t see that happening in the near (5-year) future.

In technology you have to stay marketable, you have to stay ahead of change.  Enjoy the Salesforce ride, but don’t rest, watch what’s going on out there, keep an eye open, be curious and keep learning.  What you already know from other CRMs and/or programming languages, what you’re learning with Salesforce, these are concepts, languages, skills that are transferable to the Salesforce of the future.  Keep learning!

Siebel was HOT in the early noughties.. but it was overpriced, labor-intensive, and taxing on the local IT infrastructure.

Salesforce is so much better than that.

The user interface is very clean and simple and it takes very little time to make changes and have something to show.

A lot can be done via button-click administration, even automation such as automatically creating tasks, sending emails, or making field updates.

The next step is Visual Workflow, which still is button-clicky, but allows you do a little more advanced programming, such as looping through records, creating, updating, querying, and even deleting records.

The more hard-core developers can use Salesforce’s Apex programming language.  If you know other object-oriented languages, it is not that big a leap.  Some of the quirks of Apex include governor limits, which forces you to be more efficient in your coding.  Also, code cannot be migrated from a development environment, until you have reached at least 75% test coverage.

This is another checkpoint to ensure your code is efficient.

The beauty of Salesforce also lies in its user community.  There is a lot of help out there, from Salesforce’s own developer community and user forum to a gazillion blogs by Salesforce administrators and developers.

Between the developer community message boards and Youtube and Salesforce blogs you’re really just a few Google searches away from solving any issue.

The community is more than happy to chime in with suggestions or entire solutions, even when it comes to coding.

Another nice touch is that anyone can get a free developer org set up that comes with 2 user licenses and *full functionality*.  That means you can build everything and anything and test it out and dump it.

Being a developer org there are some limitations, of course (e.g. number of mass emails to send, available storage space), but it makes for a great playground.

Here’s a link to a Salesforce-provided page of training documents tutorials with step-by-step instructions on how to build an app, write Apex code, build Visualforce pages (cf. Salesforce dynamic HTML), understand security concepts etc.

Force.com workbook – developer.force.com

You can get proficient fairly quickly, but you will have to put in a considerable amount of time to become an expert.

Consider also Salesforce’s free Trailhead training modules: the fun way to learn Salesforce

In Salesforce, what is the difference between a “Lead” and a “Contact”?


  • the equivalent of a business card somebody hands you in passing or drops off at a trade show.
  • No promise of any business, just interest and a potential for future business

“Contact” :

  • someone you have done business with already (in the form of an opportunity, open or closed).

When a lead is deemed worthy of pursuing and turning into (potential) business, it is converted in Salesforce to an account, contact, and optionally an opportunity.

What is CRM?

Here’s how I would describe CRM to people of varying ages. It helps to present the answer in terms the appropriate age group understands.

<4 years old: Don’t bother

4-6 years old: “<Parent> goes to work and works with other people. CRM helps <Parent> remember what <Parent> said to other people and what <Parent> needs to do for the day.”

7-12 years old: “You [kid] have a bunch of friends. You want to know when their birthdays are, so that you can surprise them. You want to know who sent you a birthday card, so you can thank them. You want to know what you’re doing next week, so you can plan. How do you do that? You take a notebook or use some post-it notes, write down these pieces of information and arrange them on your pin-board, so that you remember. CRM is a notebook that people at work use to track such information about other companies/places of work, and the people working there”.

13+ years old: “Companies track which customers and/or companies they do business with. They track what customers ordered, they track when you might have an anniversary (birthday, wedding anniversary), so that they can send that customer a birthday email or remind them to reorder something. CRM helps companies appear more knowledgeable and caring about their customer base.

Also, since a customer might deal with different departments in the same company (accounting, billing, customer service, orders), CRM ensures all departments have access to the same information. For example, if a customer is overdue on paying a bill, then an order rep, with that knowledge, might hesitate on fulfilling a new order for this customer.”

Log a Google notification to Salesforce

How can I log email notification from google docs to Salesforce records?

I have a google form which when filled sends an email notification with a PDF to a few designated email addresses – I would like to have the email notification logged in SalesForce to the appropriate user when the notification is sent. Is this possible?

Go to My Settings | Email | My Email to Salesforce and you’ll see 2 important areas:

  1. Your Email-to-Salesforce address
  2. My acceptable email addresses

Now copy the email-to-Salesforce address and add that to the Google doc notification list of recipients.  This ensures that Salesforce will attempt to store a copy of the notification email.

In order to do that, you have to list the notification email’s sender to the ‘my acceptable email addresses’.  When you currently receive that notification email, copy that sender email and paste it into the area under 2.


Integration: Salesforce & Quickbooks

I’ve worked with and implemented DBSync and Autofy.  Both integrators offer connectors to Quickbooks Online and Quickbooks Desktop.

Both follow a similar path: Salesforce opportunities, once closed-won synchronize to Quickbooks as Invoices (the usual case, you could also select Sales Items).  In addition to the Quickbooks invoice number, Autofy also copies the open/unpaid amount back to the Salesforce invoice.

DBSync has a more robust architecture and is also more expensive than Autofy… but also has some customer service issues (they’re not the best at responding in a timely manner).

Autofy is much more cost-effective if you can go with the out-of-the-box offering.  If you need additional mappings, that extra customization work can push the price up to being close to what DBSync charges.

Autofy’s customer service is better, though you can’t reach anyone by phone.  It’s all about submitting tickets.

When you set out to pick your integrator, know exactly what you’re looking for – write down use cases, make pretty pictures/Powerpoint slides, document every single requirement.  Get input from sales people and accounting on what Quickbooks information they want to see in Salesforce.

Think about what business rules you want to see in place, e.g.:
1. When an opportunity is closed-won, create an invoice
2. When a partial payment is received, do you want to change the stage to “Deposit received”?
3. When the invoice is paid off, what should happen to the opportunity?

Though it’s not directly related to Quickbooks, you might also want to think about what sort of Salesforce business processes/automations to implement, such as:
1. Notifications to Accounting when the invoice is paid off
2. Notifications to Sales when an open/unpaid amount remains unpaid for x days, so that they can follow up
3. Blacklist customers whose unpaid balance is above x

Knowing what you want the end state to be will help you pick the right integrator.  Shop around, share your vision.  No tool will have the perfect fit out of the box, but you will get an idea about the cost and time lines from the vendors, which should help you make a decision.