Python for RevOps Crash Course

Banner image for the "Python for RevOps Crash Course"

If you are looking to become an automation master and you are ready to spread your wings beyond the confines of iPaaS tools then Python is an essential skill to have in your RevOps tool belt. Python code makes it easy to build complex, fully customizable workflows that unlock the full functionality of online platforms (via API) all at a cost drastically lower than iPaaS tools.

This course aims to teach you the fundamentals of programming and get you started running your first Python script within 2 hours. Will you be full-stack engineer after this course is finished? No, but my goal is that you will have the foundational understanding to start writing your own scripts and you will know where to go to enhance your knowledge, get the code needed for the task at hand, and get help troubleshooting any issues you face.

Pssst. Have no clue what APIs are? Then the Demystify the API Crash course is the Cabernet Sauvignon to this course’s filet mignon!

Automation is one of the foundations of revenue operations and while a lot of marketing automation tools and iPaaS tools enable automation through graphic user interfaces (GUIs) they don’t achieve the same level of flexibility and customization offered by writing custom scripts and leveraging APIs.

iPaaS tools like Zapier do a great job of connecting to 3rd party platforms but not all of the functionality of these platforms is accessible with Zapier’s out-of-the-box actions (see the Marketo example in the video above) and so making custom API requests through code steps is the only way to be able to access all the functionality of these 3rd party platforms.

Speaking from my experience with Zapier it becomes difficult to manage larger workflows especially when the Zap starts to go down separate branches and it is not possible for the branches to rejoin and the Zap to continue along the main flow. This leads to a lot of duplicate actions between the diverging branches which makes maintenance harder e.g. if an action has to be updated in one branch then it has to be updated in the other.

This is where using a programming language is better because the flow progresses down one main branch, diverges for any conditional logic, and then returns to the main branch, avoiding the need for duplicate logic (see the video above).

Similarly, if zaps are calling sub-zaps which are calling other sub-zaps then it becomes tedious to jump around between the different zaps to follow the flow. This is where the view from a coding environment is better in my opinion because you can see all the custom functions (equivalent to a sub-zap, don’t worry you’ll learn about these in the course 😉 ) beside your main script and it is easy to navigate to these functions to see what is going on inside them (see the video above).

iPaaS tools make it easier to automate and interface with 3rd party platforms but this of course comes at a price! When you are running workflows with large amounts of actions or numerous iterations of these workflows need to be run, the cost of doing so using iPaaS tools will be much more expensive than writing a script to achieve the same thing.

This is because task usage/compute is how these iPaaS platforms make their money. There is a compute markup with iPaas tools to pay for the company’s engineers who built the easy-to-use automation builder, for the marketers who brought you to their site, and for the support personnel who spend time helping you with issues.

On the other hand, when you run your own Python script from your laptop, computation is free. Or when you host a Python script online you will have to pay for the compute units used when the script runs on the server but it will be a fraction of the cost compared to paying for the equivalent task usage in an iPaaS tool.

So when it comes to cases like I’ve had where 13,000 duplicates needed to be merged or over 100,000 leads and accounts need to be scored doing these in Python was my preferred choice to avoid exhausting our monthly task quota in Zapier and spending thousands of dollars in tasks.

Python is renowned for being one of the most beginner-friendly and versatile programming languages. Trust me I’ve used other languages like C++, C#, and Javascript and Python is by far the easiest language to use with shortcuts for functionality that would take lines of code in other languages.

But if my word isn’t enough here are some more reasons why Python should be your programming language of choice for RevOps:

Python’s syntax is clear and easy to learn, making it accessible for those without prior coding experience. Unlike more complex languages like C, Python prioritizes human-readable code.

A Survey by Coding Dojo found that 88% of respondents rated Python as the easiest programming language to learn compared to others such as Java and C++.

Python consistently ranks as one of the most popular programming languages globally. It boasts a massive community of developers and a wealth of resources, which means troubleshooting, learning, and expanding your knowledge is easier than ever.

  • RedMonk’s Programming Language Rankings show that Python has been consistently growing as one of the fastest-adopted languages due to its simplicity and versatility.
  • The 2024 Stack Overflow Developer Survey reports that Python is the third most popular language, used by over 50% of respondents.
  • According to Python.org, Python has an active community with millions of developers. This broad base ensures you will have access to plenty of tutorials, forums, and pre-built solutions, which will speed up your learning and mean that there is plenty of help available if you get stuck.

Python’s broad library ecosystem covers everything from data manipulation with Pandas to API requests with Requests or automation with Selenium. This flexibility makes Python perfect for building workflows that support RevOps processes.

The TIOBE Index ranks Python highly for its vast array of libraries like Pandas, NumPy, and Requests, which are essential for data manipulation, API interaction, and automation.

The aim of this course is to give you an introduction to the fundamentals of programming using Python as the showcase language.

  • How to download and set up PyCharm: Get your coding environment ready in minutes.
  • Installing libraries in PyCharm: Learn how to import Python libraries so you can stand on the shoulders of giants and use logic and functionality that others have already coded for us.
  • Running your first script: Import a CSV file, process data, and export the results to a CSV file to get hands-on experience with Python basics like variables, loops, functions, and conditional statements.
  • API Requests: Learn how to harness the power of APIs to connect with online platforms and use their functionality within your scripts.
  • Debugging with PyCharm: Master the debugger and see how Googling errors, searching Stack Overflow, and using ChatGPT can help you troubleshoot your code.
  • Writing code with ChatGPT: Discover how AI tools can assist in code writing and how you can work with an AI assistant to iterate on your code if it doesn’t work right away or if you want to change the logic.
  • Hosting Python code on Replit: Learn how to easily host your Python code so that it can be triggered to run when needed.
RevOps for Python Professor Pretorius profile image

I have been programming since 2013 when I took my first programming module in C++ in college. 2 years later I taught myself how to program in Python when the robotics team at my college was using this to build their robot.

Fast forward to 2019 when I took on my first role as a Marketo administrator and brought my problem-solving, analytical approach, and programming skills from engineering to the revenue operations domain.

Since then I have been able to use Python and my knowledge of APIs to automate repetitive tasks, saving me time in my day-to-day and saving my company a lot of $$$. In one year alone I estimate my knowledge of Python saved my company $21,000:

  • $15,000 was saved using my Marketo API script to merge 13,000 duplicates in our instance, saving us from a $10,000 Cloudingo contract and $5,000 in our next Marketo contract renewal.
  • $6,000 a year (5hrs/month * $100/hr * 12months) is saved by the automation I have built for things like email sends, program cloning, and duplicate merging. Not to mention the one-off projects like reverting field values using the Bulk API that can easily save a full day of repetitive clicking.

My background in the revenue operations realm means that I understand the problems we encounter as RevOps professionals working with the sales and marketing teams at our organizations. I believe this makes me uniquely positioned to teach you about the power of Python in revenue operations and empower you to automate your workflows so that you can spend more time on strategy and projects that will move the needle!