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.

Launching PyPardot4

I’m an open source programmer!

As part of my responsibilities at IHS, I am the administrator of  our marketing automation platform Pardot. Pardot is a Salesforce product and it integrates well with IHS’ Salesforce database. However, there are elements of the the database that we want to use in Pardot but Pardot could not access.

There is a Pardot API, which means one can theoretically create computer code to perform actions with Pardot beyond the official features. I found PyPardot, a Python package for accessing the Pardot API. However, it was written for an outdated version of the API and the author is no longer maintaining the package. Luckily, the author released the package as an open source project on GitHub.

Over the past few days, I have updated the package for compatibility with the latest version (4) of the Pardot API! It is now available on PyPI and the code & reference wiki are available on GitHub.

I have already used my new package PyPardot4 to accomplish some of our needs at IHS and I am excited to put it to further use. However, I have already learned so much including:

  • How to call an API from Python
  • What a fully object-oriented programming project looks like from top to bottom
  • How to contribute to and create open source programming projects on GitHub
  • How to upload a Python package to PyPi (the Python Package Index)