What I’ve Done With Salesforce

I work with Salesforce often. Salesforce is a popular CRM (customer-relationship management) software. In my day job at IHS, we use it to track our fundraising efforts. We also use it to track our programs and opportunities in higher education.

For a period, I focused my role at IHS on standard Salesforce administrative tasks. This includes user access, database structure, and workflow automation.

This work is important. A database is doomed to failure without a wise admin. I strive to go beyond the basics to deliver the best possible outcome. Here are a few examples of how I have do that:

List matching. At IHS, we send staff members to academic conferences to meet potential academic partners. When we have conference registration lists in advance, I run a query of our Salesforce database to see who we already know. This allows our team to reach out in advance, leading to maximizing the value of their time spent attending the conference.

Automated metrics. When I joined IHS, we were paying a vendor to track our social media performance metrics. This vendor logged into our accounts and entered this information into a form which stored the data in Salesforce. I built a tool that does this automatically by connecting to the relevant APIs (Google Analytics, Youtube, Facebook, Twitter, etc.) This saved the organization money on the vendor and ensured the data was in Salesforce in real-time.

Connected Salesforce to WordPress and Workplace. This meant that when a client clicked a button that fit their existing Salesforce workflow, accounts were automatically created on their WordPress website and Workplace by Facebook platform. This automation reduces manhours spent on creating and deleting these accounts.

Pushed Pardot email metrics to Salesforce. Pardot is a marketing automation tool sold by Salesforce inc for integration with the Salesforce database. I’m not sure why, but there is no out-of-the-box way to see Pardot email performance metrics within Salesforce. I built an integration automation that accomplishes this by creating Salesforce records with performance metrics for each Pardot email.

Built Pardot lists using custom Salesforce fields. Pardot’s main selling point is Salesforce integration, but we found at IHS that we could not create lists based on a custom field for the Campaign Member object. I figured out how to do this with a Python script, which I wrote about here. This saved our staff time they were spending manually exporting lists from Salesforce and uploading into Pardot.

Built a Youtube integration. Last but not least, I have built a direction integration between Salesforce and Youtube for performance metrics. This allows you to connect your Salesforce database to a Youtube channel, create records for each of your videos, and sync performance metrics. I’m working towards selling this as a Salesforce AppExchange app.

Update on NBA Game Log

Now that the NBA season is underway, I am using the NBA game log tool I built. This allows me to track the games I watch and the notes I take. I’m primarily interested in tracking how much I have watched of each team so I can keep an eye on the entire league.

This idea was included in my previous projects post. Last season I tracked the games I watched in a spreadsheet. So far this app is easier to use, especially for looking at the data as a whole, and adds the capability of logging notes. 

I built this app using the Javascript MEAN stack: MongoDB, Express.js, Angular, and Node.js. This was my most ambitious Javascript project to date. I have learned a lot, especially regarding API design. I’m proud of what I have built so far but have more I would like to do such as:

  • Better design and interface
  • Password reset for users
  • Different analysis dashboards, such as for a particular team or player
  • Customizable sharing options for different users

Anyone can create an account and use the app but I mostly built it for my NBA viewing and for my Javascript experience. 

NBA game log tool online!

Last week I wrote about a few projects I want to tackle in my spare time. Friday night I started work on an NBA game log tool. Last night, I successfully deployed my initial app to Heroku! You can check it out here.

The goal of this tool is to easily log and recall notes about NBA teams and players. As I wrote previously, I think the “eye test” of watching games is just as important as studying player statistics. To use the eye test effectively I think you need to keep notes as systematized as possible.

When you log in, you see all existing notes. You can add an entry for a game you watched which includes the teams playing, the date, how much of the game you watched, and your notes on the game. Log entries can be edited or deleted. There is also a functioning registration and login system for users.

I have a long list of features to keep adding, here are my top priorities:

  1. Differentiate notes of different users
  2. Search notes for a specific team
  3. Associate notes with specific players
  4. Better visual layout
  5. Possibly, related Android and iOS apps
  6. A snappier name (NBAeyeTest?)
For now, I’m thrilled to say this project is already online! This is my most successful javascript project to date. I built this app using the MEAN stack: MongoDB, Express, Angular, and Node. This is also my first time using Heroku. 
Again, if you are interested, please check it out here. I’m aware of a few bugs, in particular the footer doesn’t always load properly. Please let me know what other bugs you run into! 

Projects

Here are some projects I’m currently working on and/or thinking about kickstarting:
A computer version of the Parker Brothers World Flag Game About The United Nations. This is a classic game for the Needham family, especially at our cottage. I’m working on this game as a chance to practice the Angular framework and possibly the full MEAN stack. I wanted to use a board game that, as far as I know, has not been digitized before.

An NBA game log tool. I watch a lot of the NBA and I try to go beyond watching solely the best teams. Two seasons ago I used a Google Sheet to track what games I watched to ensure I was getting a decent spread of all 30 teams. I want to make a tool to easily log which games I watch, how much of a game I watch, and my notes on what I observe. Additional features would include tagging and looking up notes based on individual players as well as a login system for multiple users. My instinct is to make this with the Flask Python framework.

An NBA lineup quick view tool. The official NBA website has a great tool for analyzing different lineups. I want to make a handy reference where people can quickly see the best and worst lineups in the league and for each team on the basis of offensive success, defensive success, and net success. You could in theory do this with the NBA.com site, but it requires a number of steps. I want to create a website that has this data already prepared for you. This would likely be a Flask project as well.

Reach out to Scott Sumner and discuss building a cryptocurrency linked to NGDP as he proposed here. The step I need to take between here and now is building a just-for-fun cryptocurrency as proof of competency.

Calculate which NBA player had the highest game score against each NBA team last season. I did this for the 2016-2017 season.
Track how accurate Pythagorean win projections were throughout the previous NBA season. This was my original goal in starting a weekly NBA blog. I have the data ready to analyze, I just haven’t followed through on it yet!

If you read this post and are interested in collaborating on any of these projects, email me