Investing In Our Dev Community | Rahmona Henry | HubSpot Developer Day 2020

Presenter Ramona (HubSpot developer advocate) summarizes HubSpot’s 2020 investments to improve the developer experience: a unified developer website and Swagger-powered public API docs (with Postman collections), new V3 APIs and client libraries (Node, PHP, Ruby, Python), an internal API catalog and tooling for consistency, and rollout/sunset plans. She announces three new data object initiatives—Custom Objects (GA for enterprise), Marketing Event (new object/API), upcoming Invoice and App Objects—and highlights enablement resources (HubSpot Academy courses, tutorials, a developer blog, changelog, App Marketplace and App Partner Program, community forum and Slack). The talk emphasizes API consistency, automation, and developer enablement.
Chapters
Hello everyone and welcome to HubSpot's Developer Community Day 2020. I'm Ramona, a developer advocate here at HubSpot and I'm based in Dublin, Ireland. I've been working at HubSpot for almost three years now and prior to that I lived in New Zealand where I worked as a web developer. Today I'll be taking you through some of the investments that we've made in our developer community in 2020. There's a lot to get through, so let's get going. Taking on board the feedback that you shared with us through our developer NPS surveys and various other customer feedback channels, we have made some serious investments in the areas that you really want to see improvements in. We want our developer community to be inspired and motivated to build the next great HubSpot integration. So to help with that we've done a number of different things. The first one is a brand new developer website. This brings together our API and CMS developers for the first time in one unified place on developers.HubSpot.com the site's been live for a couple of months now and we've actually built it on our own HubSpot CMS. It's full of features and resources to get you started and supported no matter where you are on your HubSpot developer journey. Along with a brand new website, we also have some brand new public API documentation. Again, our docs are built in the HubSpot CMS and powered under the hood by Swagger. Swagger is an industry standard specification and documentation tool and makes it possible for engineering teams to automatically create and publish documentation at build time. This modern, clean, fresh new look makes it easy to navigate through our APIs. Swagger makes it possible for users to interact with the API without ever leaving the website. You can even make an API call directly from the documentation and it gives us the ability to share code examples in the most popular programming languages for every API. The docs also comes with some downloadable API collections brought to you by the popular Postman. Postman is a software development tool and makes it easy for developers to collaborate with teammates. Make real time API calls direct from the docs, which leads to faster prototyping, optimization and organization of API calls. Along with Postman collections, we've also rolled out some new API client libraries using our new V3 APIs. Client libraries make it super easy to work with HubSpot APIs and they come prepackaged with some utility functions such as attaching authentication to your requests, handling HubSpot rate limits, and automatically retrying 500 errors. Our libraries are currently available in Node, PHP, Ruby, and Python, and again, they're all built using our new V3 APIs. Since our launch in 2006 as a marketing software company, HubSpot has come a long way. Our small autonomous engineering and product teams have since released the CRM Sales Hub, Service Hub, and CMS Hub, along with their public APIs. As of last year, we calculated that we had over 500 endpoints, seven separate API engineering teams, and over 450 pages of public documentation. With billions of calls being made on the platform on a monthly basis, that's a lot of power, but it's also a lot of friction. The same autonomous teams that allowed us to grow at lightning speed also created a lot of friction for our developers. Without a shared framework for usability and consistency, our APIs were creating a lot of pain for developers. From the feedback that we received in our developer NPS surveys and through other customer feedback channels, API consistency and completeness was the number one challenge facing our developer community. Our APIs had different version numbers, different pluralizations, different naming conventions, and the experience in app for users was so much different. Contacts, companies, deals and tickets not only looked the same, but they worked the same way too. The only thing that changed was the name. So why can't our APIs do that? When our developers spoke, we listened. Earlier this year, we kicked off a massive effort to overhaul the HubSpot API. This new generation of API, which we call V3, is designed with consistency at its core, and it is the new design standard for HubSpot APIs. Going forward, V3 does not only extend outward through our public APIs, it also extends inward through our product and engineering teams. V3 extends how we think and how we design APIs that are consumed by our customers, developers and app partners. We've built an internal API catalog, again powered by swagger as it makes it possible to automatically create and publish documentation at build time. Engineering teams can reference API guides, design guides, seek reviews, and use linters for automatic consistency reinforcements. We've also embedded protections that automatically alert our engineers when they're about to make a change that can hurt our integrators. Behind the scenes. We have invested in automation, tooling and process, and we are committed to building APIs that are consistent, accurate, and built in the right way for our customers and app partners. In March, we released the first batch of our V3 APIs into general availability. We will continue to release additional APIs on a rolling basis throughout the end of 2020 and into 2020. 1. We'll also be announcing sunset dates later in 2020 for older versions of our APIs and and providing plenty of time for our developers to migrate to our new APIs. We understand that APIs are the user interface that our developers depend on to get their jobs done. And while we're excited about the work that we have done so far, we know there is still a lot more to do to truly give HubSpot developers a world class platform to innovate on Objects, Objects Objects so we have three new data objects that I want to talk to you about today. Custom Objects is the first one so last week at our virtual conference Inbound, we announced that Custom Objects are now live and available for all enterprise accounts. So what are Custom Objects? These are data objects that customers can define for themselves to store specific types of data that we don't represent natively in app. So maybe it's shipments if I sell a physical product, or maybe it's a house if I'm a realtor or an estate agent, or maybe it's subscriptions if I work at a SaaS company. Just like our traditional CRM objects like contacts, companies and Deals, you can now create custom objects including properties along with customizing the association between other objects in a customer's account. Right now custom objects can only be created and defined using our brand new Custom Object API that we launched last week. The API public documentation even lets you create a new custom object in an account without ever leaving the docs using the Test Call feature. We believe custom objects are going to transform how our customers use the HubSpot platform and I can highly recommend checking out the 40 minute HubSpot Academy lesson led by Professor Kyle Jepsen called data in HubSpot custom objects and Other Tools to see if Custom objects are the right fit for the use case that you are developing on. So along with custom objects we also released some new HubSpot built standard objects. Last week we rolled out the Marketing Event object that users can populate with the new Marketing Event API and with the Eventbrite and GoToWebinar apps. This new object aggregates marketing data in app for users so they can use this data across list, segmentation, automation and reporting right out of the box. The API is all the standard CRUD functionality that lets you create new marketing events, get details of existing marketing events, apply updates and deletes, etc. We will also be releasing an Invoice object along with an invoice API in the near future which will create a standard way of capturing financial invoice information from a connected system of record like an ERP accounting system or the next new HubSpot app. You can then use that invoice information throughout HubSpot in the sales and service hubs and again across lists, automation and reporting. So last but not least, we have App Objects which we will be launching in the near future. So what's an App Object? These are additional pre configured objects built by HubSpot that will actually appear inside a customer's account upon installation of an integration that uses the object. As we work towards this over the coming weeks, we will be creating a library of App Objects and releasing these to our developers. For developers who are looking to have their integration expose an App object upon install, they should partner with us or the Marketplace team, so feel free to get in touch and share some ideas. So as we head for the Home straight, I wanted to cover some enablement investments that we have made to help our developers of all skill sets do their best work on the HubSpot platform. I wanted to point out our online HubSpot Academy. In here we have several developer facing certifications and lessons that are live and available for you to use. When I first joined HubSpot I remember taking these courses and it was a great way to understand the HubSpot product objects, data structures, test accounts, developer accounts, etc. So in particular I can highly recommend the introduction to HubSpot APIs and the certification hubs HubSpot CMS for developers in addition to the Academy this year my colleague Zach Wolfson also created a great API tutorial over a three part series that builds an idea tracker app. The tutorial is available in our public documentation and takes you through how to connect a custom app to the HubSpot CRM. The example app used creates a simple customer idea forum with an interface where users can sign up, login and post ideas. You will learn how to connect the app to HubSpot via OAuth, create properties and sync contacts and companies. It has a great tech stack that's rich and expansive and gets you using HubSpot of course, but also Node JS Express framework to build your own web server, MongoDB for your database, React on the front end, Docker for dependencies and microservices, Kafka as a message queuing system, Zookeeper for managing the Kafka configuration and Google Compute Engine for hosting the app. It's a great way to learn and to get started with HubSpot if you're new to the platform so please check it out. The engineering team at HubSpot have also designed a free online course to teach aspiring coders how to build a web application from scratch. This tutorial uses GitHub, Heroku and Node JS as well as how to style your application and integrate it with APIs. The course is called Building youg First Web App and I can highly recommend and encourage anyone who is just getting started with web development to check it out. We'd also love your feedback, so please let us know what lessons, courses tutorials that you are looking for to help you grow as a HubSpot developer. And in the coming weeks we have some fun carnival themed tutorials on the way that put a fun gamification spin on our APIs, so watch out for these. Our new website has some great resources to keep you updated on new developer products, events and news. Our latest addition to the site is a Breaking Change document, so it can be really frustrating when you have a user telling you that your app is broke and you haven't made any changes. Sometimes this is because the system you are integrating with has changed something and didn't tell you. Recently we spent some time with our engineering teams to define what we consider a breaking change. We now have this publicly documented on our API Docs so you can read more about this and see a list of breaking and non breaking changes to guide you through some of the decisions you'll be making when working with the HubSpot APIs. To stay up to date with breaking changes, please subscribe to the HubSpot Developer changelog. This also includes latest changes to the HubSpot APIs and our developer products like new APIs, sunsets, changes, etc. You can personalize your subscription to the changelog to receive instant weekly or monthly email updates and we highly recommend subscribing if you are actively developing on HubSpot. Earlier this year we also launched a HubSpot developer blog and newsletter to share the latest tips, tricks and news for developers building on HubSpot. Our mission is to provide practical resources, stories, updates that will equip you to succeed as a HubSpot developer. We also use it as a way to tell you about events like this that we are hosting and to make sure that that you subscribe to stay informed. If you have any ideas or would like to contribute to the blog, please let us know. I also wanted to give a shout out to our app Marketplace. The opportunity in the HubSpot app ecosystem is growing. We now have thousands of HubSpot customers in 120 countries and on average customers are installing five apps into their HubSpot account. The number one way we distribute apps to customers is through our App Marketplace. Thousands of customers visit the Marketplace each month, both directly on HubSpot.com and through embedded channels in App. If you have built or are thinking of building an integration app with HubSpot, then you should check out our App Partner Program to get your app listed and certified in the Marketplace with over 500 apps. In return, you'll get a number of one assigned a partner manager as your advocate in HubSpot two priority developer support for technical questions three invitations to exclusive partner virtual events four invitations to private betas for upcoming APIs number five you qualified for HubSpot's Startup Seed program and number six additional promotion for qualified apps for opportunities such as product launches and marketing campaigns. You can sign up for the App Partner Program through our Public API documentation under the Resources tab, so check it out. And last but not least, I wanted to highlight our Community Spaces Developer Day is just one day during the year that we come together to celebrate our community, but you can be part of our community every day from anywhere. Join us on community.HubSpot.com where you can connect with peers, ask questions, find solutions and keep up to date with news and events. In particular, There is a HubSpot developer board that covers API and integrations, CMS development, and a share your work section where you can show us all the great apps or websites that you've been building. We also have a slack developer community that you can join with developers from all over the world building on HubSpot and in return get peer to peer support and collaboration around the HubSpot platform. So looking forward to seeing you in both of those community spaces. So that's it for me. Thank you for listening and I hope you enjoy the rest of your HubSpot developer day. Thank you.










