Integration and API Workshop - July 2020

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hi everyone welcome to hub spots integration API best practices workshop we are super excited that you're here my name is Sarah Jane Morris but you can call me SJ I lead our developer programs and our developer community initiatives here at HubSpot and again super psyched to have you here so let me jump into our agenda so first I'm gonna do a little housekeeping and I will share some exciting developer resource updates that we've made in the last few months with you and then Francis and Chris on our developer experience team are going to walk you through a deep dive of our HubSpot EP is some of the changes that we've made this year the investment that we've made in our API s and some of the ways that you can best take advantage of these changes and then we'll have Trisha who leads product on the ecosystem team here at HubSpot to come in and talk about the future of hub spots ecosystem and truly discuss the opportunity at hand to get you all inspired hopefully and motivated to build the next great hub spun integration then finally we will have about a 15 minute session of live QA so if you have questions throughout the presentation please use the Q&A tool in Xoom you'll see at the bottom panel there submit your questions through that tool and we will address them during the live session in the last 15 minutes and we encourage you definitely please feel free to chat with us chat with your fellow developers give us live feedback as you're watching these presentations in the chat panel and just a heads up that we are recording we're gonna be sharing this afterwards but want to make sure that you are all aware that we're recording so without further ado I will jump into some exciting general updates for our developer resources so we have a brand new developer website it's been live for a few months now but you may not have all noticed this new modern website we're pretty excited about it the homepage itself hopefully gets you where you need to be much more quickly than previous iterations of our developer website we are constantly improving it making sure that you have the latest and greatest stats on this developer website and that it gets you where you need to go within this initiative built building out a new developer website we also optimized and built outs brand-new Docs so our Docs are much more modern-looking on the API side as well as the CMS side on the API side they are powered by swagger which is an industry standard API documentation tool we have a much more interactive interface now with solid code examples so we're very hopeful that the experience has improved for you on our API Docs we have also excited about our postman collection so these post my collections allow you to organize your requests much more effectively they allow for faster prototyping and there are a series of very collaborative tools that you can use within postman to really help optimize and organize your API call experience and we are excited that we've rolled out API clients for all of our v3 API is on right now they are available for use in node PHP and we've recently rolled out Python they have standard functions for you know auth error handling and rate limiting so hopefully those will help optimize your development experience as well here they are we will share these these are the the quick ways to get them we'll be sharing these slides as well afterwards so you can quickly access them but they are listed on our Doc's as well I want to also point out our academy we have several developer facing initiatives and courses that are either live or that we're working on now both from the CMS side and the API side so definitely go to our HubSpot Academy learn a whole bunch of great things that will get you started much more quickly and also provide us feedback what are you looking for more lessons on what can we help you with what will help you grow as a HubSpot developer we're here we want to address it we want to build it for you definitely subscribe to our developer changelog especially if you're actively developing on HubSpot today you can subscribe and get real-time updates for our changelog we share all kinds of updates you know announcements are under API client libraries sunset announcements API launch announcements you know new resources as they become available you know mission-critical things that you as a developer need to be on top of to optimize your experience building with HubSpot finally we wanted to draw your attention to our new developer blog that we launched a few months ago if you go to developers that help spot.com slash blog we are looking to share more and more you know stories around the resources you can use on HubSpot share more and more about what other developers are building on HubSpot get you excited about events like this that we're hosting share recordings from events like this if you missed them and a little bit more context if you prefer reading rather than watching a video so our developer blog is growing we're actually excited if you have ideas for things you'd like to contribute to the developer blog we are all ears so do hit us up you can write to me directly SJ morris at HubSpot calm and we can chat together and see if your developer blog idea is one that we will be excited and happy to support so without further ado I will wrap up now and hand over to Francis and Chris that will walk you through all kinds of goodness around our refreshed api's and the experience around them thank you so much thank you so much for joining us again today and we will see you during the chat thank you welcome everyone I'm Francis a product manager on our ecosystem team today we'll be taking a deep dive into HubSpot refreshed API you'll be hearing for myself and my colleague Chris about the following topics since our launch in 2006 as a marketing software company HubSpot has come a long way we've built everything from marketing sales services and CMS tools and our small autonomous teams have made it possible for us to ship these great products and their company api's as of last year we had over 500 endpoints seven teams working on public api's over 450 dots pages and billions of calls being made on the platform on a monthly basis now that's a lot of power but it's also a lot of friction the same structure that allowed us to grow at lightning speed also created friction without a shared framework for usability consistency our small autonomous teams we're creating a lot of pain for developers but don't take it from me here is some of the feedback we received at the time we heard things like designed for marketers to make developers miserable one of the war safety eyes with which I've had the opportunity to work with oh ok API is of the user interface that our developers depend on to get their jobs done they're absolutely critical for our developer success let's take a look at what was causing some of this frustration by far API consistency was the biggest challenge facing our developers for example let's look at the URLs we asked for developers to use to list contacts companies deals and tickets here we see different version numbers different pluralization x' and different conventions for that the experience of using our world-class in-app UI in the app contacts companies deals and tickets not only look the same they work the same way - the only thing that changes is the name this becomes a huge asset for our users gives them the confidence and context they need as they interact with more and more of the platform well today I'm delighted to share that when our developers spoke we listened earlier this year we kick off a massive effort to overhaul the entire HubSpot API this new generation of API is designed with consistency at its core now talk about some of the new interaction patterns and how we're enforcing them I'd like to introduce Chris bailed off an engineer the developer experience team thanks Francis I'm Chris Baldauf an engineer on top spots developer experience team and I am passionate about building api's that developers love but for the first part of today's chat let's pretend I'm not Chris that works at HubSpot but instead Chris who just started as a developer at Acme Corp my manager pulls me aside on my first day and tells me that he's got a really important assignment for me the board wants to be able to measure the ROI of their investment on HubSpot and in order to do that the HubSpot contact data needs to get integrated into the monthly management dashboard reporting at which I gather to be a homegrown system so I'm feeling a little nervous but I ask around and find out that the management dashboard app is really just a sequel database so this boils down to read contact data out of HubSpot and put it in a single database it's pretty straightforward so I plugged my keywords into Google and I find my way to the HubSpot developers API documentation which has a page dedicated to getting all contacts so I read up on it I opened my code editor put on a pot of coffee and in a little time with some trial and error I've got code that works feeling pretty good so I take it to my boss and let him know that the contacts data is now in the management dashboard app and he should be able to take that to the board which he does and they're happy but they want more they say okay now do the same thing for companies deals and tickets so we get the full picture of our HubSpot investment ROI all right well let's head back to the API Docs and read up on companies deals and tickets and all what while I'm doing this reading I'm trying to think of as a developer how can I get the most bang for my buck out of my code and make it as reusable as possible but as I dig into the details I'm building this mental model of all the things that are different between the API responses for the different objects they there are different URL paths they use different JSON properties for the IDS and and the lists and the way to get to the next page is different and this is really just scratching the surface the truth is building this mental model has way too much complexity associated certainly there's got to be a better way and there is I'm really excited today to introduce the next generation of hub spots api's that have been simplified and had a lot of added consistency with brand new API documentation so let's drill in to a particular example of getting a single contact contact with ID one two three so the response is pretty simple and if we squint just the right way we can kind of see that context is really just object type and the properties map is just a stretchy dictionary to hold the keys of the different fields so this new API should be able to just plug and play for all those different object types and allow me to insert the data into the management dashboard app bringing us closer to the promise of the only thing that changes is the name now I wanted to make sure that I wasn't standing in front of you today selling snake oil so I wrote some code to exercise exactly this so this is some code that pulls the first three contacts companies deals and tickets from hub spots demo account which you can try yourself and prints them out as a CSV so the interesting bits are the list of the array of different object types that we want to iterate through the API path to get the data and that looks what looks very familiar and then how do we get the property values as a comma-separated list now obviously the ultimate end goal is to put these in a database which probably has its own schema but CSV for illustrative purposes will show us that the the fetch from home spots I and this works but that's forty lines of JavaScript that printed out the top three contacts companies deals and tickets which gets us pretty close to our promise and now I'd like to zoom in on what are some of the changes that we've made in these new refreshed api's all right so back to the get a single contact example you'll notice that the ID is called ID it'll be the same everywhere and it's a string you can you can rely on that we've done we've made some changes to the way we return dates and date times so you'll notice that that's ISO 8601 format it's more human readable now we will return ISO 8601 that that long 20/20 - a 1-10 etc full accept both the new and the old format for for backward compatibility because we know that they're gonna be folks who are still reading from the old API eyes and writing to the new ones for a while then we've got properties now what's a property property is basically a field on an object so you can see here that the property is returned with the contact our email first name and last name and that's new because we're returning default object properties for all objects so and this really is meant to align with the in-app experience so if it's a if it's a required or suggested field on the object create dialogue we returned it in the response by default now you can of course customize the list of properties to be returned to be whatever you'd like but from a getting started standpoint seeing first name last name email will tells me that this is probably a human contact record and not a company or a deal okay cool so now we can get a single object what about lists whatever what changes have been made with with lists of results well here you can see we've stuffed the results in a results JSON key that's the same across every list of results that you'll get from the new HubSpot api's and we've addressed paging so if you're familiar with the old way of has more and offset with different casings and different prefixes this is a new standardized way to deal with it and it uses an after token and if you're if you're like me and really appreciate a little hints to help you get started here's kind of a cheat code hey here's the link to the next page of results and if you just plug this in you'll you'll find your way there okay taking a step back and thinking more systematically about our API design approach we're really into rest but we know that it doesn't fit all cases so we added actions and these are just standardized way of doing performing an action in HubSpot again not everything is a crud operation so these come in synchronous and asynchronous flavors and really the reason that they're important is that we build on top of them to create batch operations so protip that's where you can it's way more efficient and we'd love to see it so batch extends action it's a post HTTP operation and the the the last piece of the path segment they're create is a verb so you know that you're performing an action and these these batch operations should all be consistent so they'll take a JSON Key of inputs which is an array of the things you're passing in right so I want to create two contacts one or the first name Alice another with Bob and I'll get returned a list of results and we've we've been pretty explicit about the semantics of how batch works so a create operation a create batch action works like a single post write or several single posts patched together and it's just HubSpot handling handling that multiplicity for you and of course with batch that we need to be able to handle batch errors so in the v3 API we're returning 207 multi status responses so if some things in your batch worked well we'll put them in the results and if others didn't we'll put them in the errors array so that you know what needs to be retried okay archiving this is really about the object life cycle within HubSpot so an object gets created and it's in an active state and then something can happen that can cause it to be archived that might be an API operation of someone operating within HubSpot app from the archive they can go back and be restored back to active or it can be purged which is HubSpot managed now you can dig in we can dig deep on this but I don't think it's the right used time right now I just want to give up paint a high-level picture of how we're thinking about the object life cycle within HubSpot okay errors this one is it I have a love-hate relationship because a good error can be very informative and give you very clear next steps but a bad one can be so incredibly frustrating you are making great progress and now you've had a you've hit a brick wall so we've designed errors to be very explicit about the data that they return so you'll get a message a correlation ID category and some context which are really just tokens that you can use to inspect what what was what was going on around the error so I'm one of the well I've got my soapbox here I want this to stand up and share some error do's and don'ts do leverage the context tokens they should tell you a bit more about what's going on in the in the requesting where the error was thrown check for some errors because we can roll up multiple errors into into one HTTP response use links included in the errors to learn more but please do not parse the string error message it can change don't don't do it it's not a good idea don't automatically retry on 4 X X errors because besides for 29s usually something needs to change on the client-side in order for that request to succeed and don't forget to include the full error on help requests because it can be really helpful for folks in HubSpot trying to try to chase down what went wrong so we've just covered a very small amount of the in-depth work that we've done to make our API is more consistent we thought long and hard about this and discussed it for all for a long time going from the very low level about what HTTP methods and response codes and media types are appropriate for which situations all the way up to high level interaction patterns like event stream search and drafts and revisions so we've invested a lot here I'm I'm pretty confident in saying that we didn't get everything exactly right so if there are areas of the API especially the new ones that you think could use some love or cause you particular frustration please give us that feedback on our developer forum to really really appreciate that staying connected so we talked a lot about what has changed let's just quickly review what hasn't so you can know what is solid ground under your feet so the base URLs API hub API comm hasn't changed the way authentication works the rate limits the webhook payloads and signatures haven't changed and the CRM card responds payloads haven't changed and while we're really excited about the work that we've done so far on our new v3 API is we know that there is still more work to do so we are actively working on property audit or property histories so knowing how properties within the CRM object change over time returning Association IDs in search and that's read getting a new refreshed engagements API and also contact lists this is we're always looking for more feedback so you've if you've got ideas again on how you think what what other features would be really useful in the HubSpot api's drop those in the community forum and subscribe to our developer changelog in order to get get notified of new releases so now I'm really excited to turn it back over to Francis to talk about how did we actually get this done thanks thanks Chris well it's great that we're able to accomplish this with couple spots v3 API a one-time project is not enough we need to ensure that our API state consists in over time to do so we've introduced a foundational usability framework as well as a set of tools and processes to help make sure that we can deliver on that promise we started by drafting the API design guide an involving resource used by our teams to build awesomely consistent API s that our developers love we pair that up with a process called design reviews where we work closely with PM's engineers and designers to ensure that they're using best practices when building api's next we built an api catalog this catalog is powered by swagger which makes it possible to automatically create and publish documentation at Build time it also offers teams a way to visually review our entire API after that we introduced a linter for automatic consistency enforcement's to ensure that teams were following our guidance and API design guide standards finally we put into place automatic protections that alert engineers when they're about to make a change that could potentially harm our integrators by investing in automation tooling and process we're building API set by default our consistent accurate and built the right way that's all well and good but now that we've learned about the internal changes let's dive into some of the exciting new developments that made possible this March we launched a new developer site it comes with a lot of horsepower under the hood the newly redesigned dock site is powered by swagger which makes it possible for users to interact with the API without ever leaving the site additionally we now consistently offer examples in the most popular programming languages for every API in addition to interacting with the dock site developers can now use our client libraries they make it even easier to interact and work with HubSpot api they come prepackaged with standard functionality that covers things like auth error handling and rate limiting checkout the client libraries in hub slots public repo or in Solem for your next project let us know what are the libraries you're looking for in the QA and finally the dock site now supports downloadable postman collections this means that developers can now collaborate with teammates and rapidly rapidly prototype with the API want to see it in action to access these new postman collections go to any Doc's page with an available API and click this run in postman button will automatically preload all of the API is grouped by category so that you don't have to you can quickly make calls and get real data back from your portal in seconds these tools have been available to users for some time now and the feedback is overwhelmingly positive my favorite is this email we received from one of our developers this is fantastic news so happy for a proper ruby gem a few seconds later they sent oh god this code is so much friggin cleaner than the gem out there right now that's what we love to hear we even got a muscle emoji from one of our beta testers this is just the beginning we still have a lot of work out of us but our teams are tirelessly working to bring this same standard of consistency and usability to our entire API in the coming months we'll be continuing to roll out our v3 updates with a sunset date to be determined but don't worry we'll give you plenty of time to migrate now I'll hand it off to Trisha or talk about the future of the app eCos hi everyone I am so excited that you're here with us today as you have already heard there's so much that we're building and planning for that will make HubSpot the best-in-class developer platform and a place that you can truly innovate I'm Trisha Chang the group product manager for the ecosystem product group here at HubSpot and if you aren't already excited about the investment we're making in our ap eyes and in our platform I'm here to talk to you about how we view the ecosystem opportunity and why we continue to be extremely bullish on building a platform and investing in the developer experience but before we get started it wouldn't be a presentation without a reminder on forward-looking statements there is information in here about the ecosystem opportunity but I don't have a crystal ball so the market and our own plans and roadmaps are subject to change and with that let's get started over the past decade the more tech landscape has grown faster than anyone would have predicted this blistering pace has resulted in over 7,000 unique apps in the marchek landscape in 2019 and in April this number hit 8,000 but this year isn't over and for many reasons it might look and feel a bit different without sugarcoating it this year has been really tough from dealing with a global pandemic to navigating big societal issues like racial injustice we're not quite sure what the impact of these events or movements will have on the end of your landscape just yet but what we do know is that the opportunity is still there and these challenging and changing times we're seeing customers take a hard look at every dollar they're spending and then includes their tech stacks they're trying out new ways to reach their audience to engage with them to retain their customers and in fact we predict that the mark tech landscape will continue to grow an even faster rate than before with change comes new opportunity and at HubSpot we are embracing this opportunity we know developers can help maximize efficiency and forge new paths to build strong customer connections so we are exploring new ways to support our developer audience while also being mindful and by building diversity and inclusion programs to make sure that we are truly helping everyone build to their fullest potential on the HubSpot platform let's talk a bit more about the opportunity we're talking a hundred twenty 1 billion dollars exchanged in the worldwide market last year alone zooming in to SMB and mid-market companies are using a whole lot of sass hundreds of apps are in play at the average business and it's close to double the number seen in the same study last year so it's no surprise to see that companies prefer to build their own stack making best-of-breed selections for each solution that they need and adopting new ideas as they emerge the ability to use all of that sass seamlessly has never been more important unfortunately it's still not easy when asked about roadblocks to reaching their Mahr tech dreams one of the top three mentions is integrations it's consistent across various surveys and populations customers find bringing their tech stack together really hard and it can be enough of a pain point to cause a company to switch marketing platforms which is a huge leap the three-way tie the three-way tie between features cost and integrations is an unmistakable signal it's a cry for help and the call to action is clear even in a changing landscape a software with better integrations will always win the opportunity onhub spa is big and growing we crossed the 1 million mark for app installs late last year and that momentum continues to build with over 73,000 customers of our software and nearly half a million weekly users of our free tools it's a broad user base to address and each customer installs an average of 6 apps a number that also continues to grow and we're the CRM of choice for startups these growing businesses are choosing us as their platform on which to build their foundation HubSpot sees our ecosystem as a huge factor in making our customer successful and our mission to help millions of organizations grow better some of you have seen this M spot format before it's part of our annual planning and how we capture and track our top level metrics the ecosystem is front and center engagement with integrations correlates with success and we are committed to driving that engagement we are deeply committed to being an open platform we seek to provide a level playing field to provide innovative high value solutions to our joint customers and the ability to build those solutions on a high quality complete and consistent API being a platform company means being judged not only by our own success but on the success that we enable this quote from Satya is among our team's favorites we will only be long-term successful if people are making more money around us it's not enough just to open the doors we need to welcome you in we're investing in growing and engaging our community from our developer relations and support teams to our community forums to our dedicated developer NPS tracking to our changelog and our newsletter we want to build a platform where you can feel like the hero where you can enable anything building on the appspot platform helps you win but it helps your customers win so thank you for being a part of our developer community and for joining us today [Music] all right so I would love to ask our presenters to please reveal yourselves and turn on your mic so we can all see and hear you awesome and I would love to thank our extremely engaged audience for asking so many amazing questions unfortunately I don't think we're gonna have quite enough time to get through all of them today but we're gonna do our very best to address as many as we can we did receive a one question that advanced and I appreciate all of you dropping in your questions today but Before we jump into that I would love to just take a moment and introduce you to the folks on the call today I'll call on each of you just introduce yourselves and we'll start with Chris Baldauf hey I'm an engineer on the developer experience team at HubSpot and I've been here for about two and a half years thanks Chris how about you now Trisha everyone I'm Trisha I am the group product manager for the ecosystem product group I joined HubSpot almost a year and a half ago now so excited to be here thanks for tuning in everyone thank you so much Trisha we have two Zach's on the call I will nominate Zach wolf to go first everybody my name is Zach Wilson I'm on the developer relations team I've been it helps bought for about six and a half years here so very excited to get moving on somebody's new wave you guys for you I'm sorry I called you that wolf I'm so used to calling you wolf that I how about you Zach Robbins yeah I'm a music uh my name's Zach Robbins I lead the API tooling team here at HubSpot I had been here for three years alright so how about you Francis hi everyone I'm Francis I work with Zak on the API tooling team I've been at up spot for a little for a little over four years now thank you and finally I will introduce myself I'm s J stands for Sarah Jane and I lead our developer community initiatives at HubSpot and I'm super excited to have all of you here today all right so without further ado let's dive in I did mention we had a Cyprian so we'll just drop into that one first and this one's gonna go to Zack Wolfson how do I import relational data in sub spot yeah so the best way to do this here for an initial import is to use the import a CSV function here so this is a great way to get all your objects in even if you can't store the HubSpot ID on your system because I know some systems are limited in that way so you can import a couple of CSVs have them related to one another it's basically an exact replica of what you would do in a UI but now you can do it programmatically so if you need a nightly update it's perfect for that as a fallback you can always use the basics here I'm api's and the Association api's to handle things if you need a little bit more custom logic but overall the CMS CRM import API is what you're looking for fantastic what we're gonna do now is move into my best attempt to package up some of the questions that came in there were several questions that came in about some of the sort of backward backward filling approach to API to our v3 API so I'll just kick off with one of them this one was from Dan Roman and I'll hand this over to you Francis will the updates being made to the HubSpot API be backwards compatible with existing integrations yeah that's a great question and the short answer is no since a lot of the work that we did to make the API more consistent changed kind of the the way it was built the api's won't be backwards compatible but a couple of out answer with some of the other questions around timeline as a lot of these API groups so CMS CRM move out of beta and into GA will be giving folks plenty of time to migrate over to these new versions of the API and we're doing some work to help provide a Reese that can help you see the entire landscape of hub spots available at the IC all right let me just see if there was I think there might have been a couple of other similar questions I [Music] think that should have addressed it so I'm gonna move on to a question for Zach Wilson can we get all contacts with a single call a question very tempting but the answer is no people can store lots and lots of contacts in their CRM up to 15 million is our top limit there so that's just too much data to include in a single HTTP response so we do implement scrolling here so we'll take a couple of calls but the change we made in v3 should make that scrolling much easier but now you cannot get it in a single a couple of other folks questions as well there were some similar ones that came in let's go over to and I apologize if I end up going back to similar topics that I'm just trying to follow the order of the questions and you know they they were answered they were asked in you know random order so bear with me so Chris Baldauf would love you to as ask this question answer this question from Jacob have you considered eight adding API examples for J's other than node like jQuery yeah and and I'll address sort of the the full range of questions about language examples and and SDKs we were open to adding more languages and examples SDKs as folks find them useful I saw a lot of talk about a c-sharp for.net SDK and I created a community forum post that I just put in the chat so if you want to go and upload that that's the best thing that you can do to give us a signal that that's what you're looking for in general just so so this isn't specifically about jQuery or any particular language but I do want to say that like we we are in a good position to leverage the investment that we've made in our API consistency and our API tooling to able to fairly quickly when the interest is there investigate and be able to to develop these things as the use cases warrant all right thank you Chris and to folks who are raising their hands we would love it if you could submit your questions directly in the Q&A panel and like I said if we don't get them to them today we will be sure to answer them after this this call boat there's a good chance we'll be able to address them today so the next question is going to be for Zach Wilson another one for you and this one's a little long see if I can try to synthesize it here I've seen a lot of bizarre rates conditions both in my own coding and in other issue reports on the dev slack API Channel and that's by the way a shout-out to everyone we do have a developer slack community so we'll share out all of those resources and you can connect with your fellow developers there to talk about API CMS all kinds of good stuff in any case I'll go back to the question I reread it from the top hi I've seen a lot of bizarre race conditions both in my own coding and in other issue reports on the dev slack API Channel where the search claims that an object is not present but it actually is present due to indexing delays this causes challenges in making sure you do not have a duplicate if an object like a contact or a company there's a legacy create or update for contacts but nothing for companies can't get more clarity on the indexing behavior of how to avoid making duplicates since the API doesn't offer duplicate protection like the GUI does yeah great question here so I think there's actually kind of two questions embedded in in this one question so the first is the behavior of the Search API and right now the way it's designed is it's best suited for answering one-off or ad-hoc questions then I hey I just want to get a how many contacts have the first name of Zach on this call we get to back as great doesn't change all that frequently so it's perfect for answering that type of a question what is not so great at is scrolling over long periods of time so when we get into those portals that have millions of instances of an object here there are some delays here the team is looking into what it would take to implement a more robust scrolling API to more officially support that use case so we're definitely looking into that we've heard you on that and the second is a Cree or update logic here so we're looking into what that might look like for different objects you know contacts email is a fairly obvious identifier that we've supported for a while I think we'd like to continue that in v3 looking at how we want to go about that for other objects there's still a debate internally on how we want to handle it or if that's even the job of the API if it should be something that's handled in the client libraries that we produce definitely want to hear some thoughts on that on the ideas forum that's at ideas to have a calm but we're definitely looking into how we can handle that for you Thank You Zack this one's for you Tricia a question from Daniel Gomez basically asking about API useless usage limits and how they've been impacted by v3 API specifically he's asking that he would like to get a boost on the 10-second rolling limit I love this question thank you for asking it I mean the API limits is something that we that we know impacts developer experience across a lot of different use cases and so if you've been on our platform for a couple of for a couple years you know that we actually updated our limits last year I'm showing our commitment to always revisiting and figuring out whether or not our current rate limits are able to like satisfy this and so similar to kind of how Chris asked or you know the plug to the community forum similar thing I would love to hear my product manager so obviously I would love to hear your use cases and reasonings for you know needing higher burst limits we know that it is something that is clad that I've asked for and so would love to continue that conversation and really dive into you know finding a finding a limit that is appropriate for what you guys need it to be and for our business as well so I'm really excited about that one thanks Trisha Frances this one's for you um v3 API is this is extent to the CMS hub as well yes so with the new set up on the developer dock site you'll see a forum on all the pages where we're currently working on v3 upgrades for a specific API so a couple questions about specific ones we aren't planning on extending that out to CMS up so hub DB blogs pages those are all in the works and once they're ready for beta we'll be announcing those and releasing them live on the dock side antastic okay let's see here we've got so many questions let me just choose the next one that's gonna be as helpful to as many folks as possible um just one second because so many votes for different SDKs is super helpful information for us thank you here's a question from Steve Steve mine are very interested to learn about your plans for field validation one of our most challenging data cleanliness integration challenges is the inability to check user entered data at the create and edit time does anyone want to take that one for field validation questions or is this a little bit less API for get focused yeah that's that's interesting I hadn't thought about that deeply thank thank you for raising it but the question that comes into my head are we talking about custom fields are we talking about HubSpot provided fields if we're talking about custom fields which sounds like it makes the most sense I think that's something that is worth bringing back to the product team to talk to talk to them about looking into looking into that feature and and and we'll take care of that as a an output of this this conversation thank you so much there are a couple of questions around timelines for the v2 API moving to and everything's gonna be moved to v3 I know we don't have an official sort of word on that yet but if anyone wanted to jump in and give a gift folks just a general idea of what we're thinking there yeah I can jump in here so in terms of timeline again we're going through this big process of leveling up our entire existing API so we won't be deprecating the existing version until we've finished going through the v3 process with our existing endpoints so between now and when we've released all the v3 versions we'll be announcing a sunset date and we'll make sure that folks have plenty of time and plenty of notice to migrate off of the previous versions and onto the new versions thank you okay so there are actually a couple of questions about just general best practices on ways to keep integrations in sync specifically there's one from David asking about basically a problem that he's had in integrations as an integration modifies an object by API and then the workflow says that the object has been modified it would try to send the change back to the system that actually originated the change and so forth and then he asks can you please elaborate on the best ways to keep integrations in sync yeah I think I'll I'll take this one here so it sounds like what we've got going is an external integration triggered a subscription to webhook that's saying hey I have a new change when in fact it was that same system that caused the change this is where the probably the right way to handle this is to get the webhooks take them in batches and then ask HubSpot and being the batch get api's for the current state of the world for that set of objects and you can compare it to what you have stored in your database you're not constantly updating overwriting yourself if it matches no updates are required otherwise you can take the the most recent data that HubSpot has it's that way you can break that cycle of a circular dependency here does require an additional API call but because you can batch get by IDs it shouldn't be too much overhead in terms of your API call limit alright um can someone talk a little bit about batching workflow extensions web hooks data Vlad had a question about that basically saying that there are there's sometimes poor performance on a million plus contacts for example anyone to jump in about web hooks I think that's something I'm gonna have to defer and go back and talk to the product manager of the automation team here I know you know performance is definitely something we're always concerned about and having good experience for you so let me get back on a better answer for you here's an interesting question from reg a slightly less program programming focused and I know that a lot of folks that leverage our api's are not necessarily identifying as programmers so I'll read Greg's question and see if anyone has any insights so Greg says that we're moving from Salesforce to a CRM that's not supported by HubSpot natively but we are thinking of using PI sync to suck all of the data out of sales source by a hub spot and then resync it to the new system is this feasible or should we look into a new approach and then Greg says I'm not a programmer so so coding something from scratch as our examples are here today is not really an option for them any pie sink aficionados in the room if not we can definitely connect you with someone and and get you the the answer to this question all right cool what we'll do Greg is we'll reach out one I want to make sure that you're connected with the right folks to have spot to give you a best practices around this one all right I'm scrolling through lots of SDK questions there's lots of life forward looking questions I wanted to see if there was any one and our panelists group if there's any specific questions that you spotted that I didn't that you would like to answer if not we can move on to the next couple closing slides Chris I just saw one about graph QL I wanted to say say something there as I said with the previous SDK examples knowing use cases of exactly what what customers want to do with graph QL really helps us get get in tune with what what folks are looking for and couple that with I think there are some internal hurdles that we need to meet before we were so so we have experimented with graph QL internally we are aware of what it is I think there are some internal you know hurdles that we need to meet to make sure that the system is secure enough reliable enough performant enough usable enough before we were to take a serious look at making that widely available all right thanks Chris anyone else already again thank you so much to everyone for your great questions and for joining us today I wanted to make sure that you're aware of all of our different resources so if some hub spotters can jump into the chat and let folks know our main website as developers HubSpot comm if you could also drop a link to our API forums that would be super helpful those are two great places to get in touch with us and get answers to your questions and find your way through our Doc's and if there's any more specific questions again we're going to make sure that everyone on the today's call and all the questions that you asked well the answer so don't worry about that and we're going to be sharing the recording and the slide deck for this presentation on our developer blog at developers at HubSpot comm slash blog and very soon and I think mica might have dropped in the developer newsletter signup link a little while back maybe you can drop that in one more time mica and without further ado I would love it if everyone could take just 30 seconds to one minute of their time to fill out a very brief survey about this event it really shouldn't take you to too long um that's at bit dot ly / July API it rhymes it's easy to remember but it is case sensitive so please make sure you use capital J and capital API in July API that will get you straight to a very very brief survey where we can gather your feedback and create more events like this that will be helpful for you and we are really looking forward to rolling out more connection points with our community with you if you have any ideas and more specific targeted events that you'd like us to do please please can include that in the in the survey and that would be super super helpful and again we appreciate you so much we're gonna give you a couple minutes back I know for us over here on the East Coast it's almost lunchtime so I know there's all kinds of different time zones here so again thank you for joining from wherever you're joining from we really appreciate it and we'll be getting in touch with you and sharing the recording shortly thanks everyone you
Info
Channel: HubSpot Developers
Views: 5,549
Rating: undefined out of 5
Keywords:
Id: FW6g5O3AraY
Channel Id: undefined
Length: 54min 16sec (3256 seconds)
Published: Mon Nov 23 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.