Integrating with HubSpot is a strategic move that can streamline your marketing, sales, and customer service efforts. Here’s a foundational guide to help you get started:
- Define Objectives: Start by clarifying your integration goals. Are you aiming to automate marketing campaigns, improve lead nurturing, or enhance customer support? Understanding your objectives will shape your integration strategy.
- Explore HubSpot’s Features: Familiarize yourself with HubSpot’s suite of tools, including the CRM, Marketing Hub, Sales Hub, and Service Hub. Each offers a range of features to support different aspects of your business operations.
- Assess Integration Options: HubSpot offers various integration methods, including native integrations, third-party apps via the HubSpot App Marketplace, and custom integrations using APIs. Evaluate which method aligns best with your needs and technical capabilities.
- Review Documentation: Dive into HubSpot’s documentation and resources to understand integration requirements, API endpoints, authentication methods, and best practices. The HubSpot Developer Documentation and Knowledge Base are valuable resources.
- Plan Your Strategy: Define the scope of your integration project, including the systems you’ll connect with HubSpot, data flow between them, and desired outcomes. Create a roadmap outlining implementation steps, timelines, and responsibilities.
- Set Up Your HubSpot Account: If you haven’t already, sign up for a HubSpot account and configure it according to your requirements. Customize settings, user roles, and permissions to align with your organization’s structure.
- Authenticate Access: Depending on the integration method chosen, you may need to authenticate and authorize access between HubSpot and other systems. Generate API keys or set up OAuth tokens to securely connect the platforms.
- Sync Data: Begin syncing relevant data between HubSpot and your other systems. This could involve importing contacts, leads, or customer records into HubSpot CRM, or pushing data from HubSpot to external applications for analysis or marketing automation.
- Test and Validate: Thoroughly test your integration to ensure data accuracy, system compatibility, and workflow functionality. Conduct comprehensive testing and validation procedures to identify and resolve any issues.
- Train Users: Provide training to your team members on how to effectively use HubSpot and the integrated systems. Offer resources, tutorials, and ongoing support to ensure users are proficient in leveraging the integrated tools.
- Monitor and Optimize: Continuously monitor the performance of your integration and gather feedback from users. Analyze metrics to identify areas for optimization and improvement, and iterate on your integration strategy accordingly.
By following these foundational steps, you can establish a solid integration with HubSpot that enhances your marketing, sales, and customer service processes, driving efficiency and improving outcomes for your business.
Integrating With HubSpot I: Foundations Certification Exam Answers
Question 1: What is the key difference between a one-to-one integration and a one-to-many integration?
- One-to-many integrations only work in a single account, while one-to-many integrations work in several accounts.
- One-to-one integrations only work in a single account, while one-to-many integrations work in several accounts.
- One-to-one integrations use OAuth authentication, while one-to-many integrations use private app authentication.
- One-to-many integrations don’t require any form of authentication, while one-to-one integrations use private app authentication.
Question 2: What is a commonality of one-to-one and one-to-many integrations?
- One-to-one and one-to-many integrations both need OAuth authorization to work.
- One-to-one and one-to-many integrations can both be sold on the HubSpot Marketplace.
- One-to-one and one-to-many integrations can both be used on multiple HubSpot accounts.
- One-to-one and one-to-many integrations both need authentication to work.
Question 3: Which of the following statements about private apps is NOT true?
- Private apps are built inside your HubSpot account.
- Private apps are scope-limited, meaning they can only access specific parts of a HubSpot account.
- Private apps are a more secure authentication method than API keys.
- Private apps can be used in one-to-many integrations.
Question 4: A customer wants to help their sales team generate new deals through email, which is their primary form of communication with potential customers. They’re evaluating whether they should build a custom solution. What’s the first question you should answer to help them determine next steps?
- What problem is this integration aiming to solve?
- What type of integration will you need to build?
- What part of the HubSpot platform are you trying to integrate with?
- What tier of HubSpot accounts does your user or company currently have?
Question 5: What does the acronym CRUD stand for?
- Clean, Reduce, Unload, Defer
- Computer, Router, USB, Disk
- Create, Read, Update, Delete
- Command, Return, U-Key, Delete
Question 6: Select all that apply. What are the different HubSpot account types that developers can use?
- Test account
- Developer sandbox account
- CMS sandbox account
- Standard sandbox account
Question 7: Which of the following is NOT a feature of a test account?
- They function just like a regular customer account.
- They expire after 60 days and you can’t renew them.
- They have Enterprise-level Marketing, Sales, Service, and CMS Hubs with some limitations.
- You can add contacts, send emails, and create workflows inside them.
Question 8: True or false? Most HubSpot API endpoints are public and can be accessed using client-side JavaScript.
- True
- False
Question 9: Which of the following is a good use case for using the Webhooks API?
- The customer wants to receive a notification every time a deal moves to a new stage in the pipeline.
- The customer wants to add a new event to a contact record’s page.
- The customer wants to delete duplicate contact records.
- The customer wants to track when a website visitor visits a password-protected webpage.
Question 10: Fill in the blank: CREATE is to POST as UPDATE is to ____.
- UPLOAD
- PATCH
- REPAIR
- CHANGE
Question 11: When starting a new development project, what’s the biggest benefit to visiting the HubSpot Marketplace as your first step?
- You can find a pre-built integration that meets your customer’s requests instead of having to build one out from scratch, saving time and money.
- You can use the App Marketplace to get ideas for what types of integration you should build, sparking an idea for a new integration.
- You can download a pre-built integration to your testing environment to understand how it functions, helping you structure your own.
- You can use it to research what integrations don’t currently exist, finding a niche in the Marketplace.
Question 12: True or false? Developers can add associations to custom objects and standard CRM objects.
- True
- False
Question 13: A customer wants to update a custom object’s associations to be associated with the company object. How should they go about it doing this from the UI, without making a call to the API?
- Build a custom integration that’ll allow them to make the association with a single click.
- Add a new association directly on the custom object list view.
- Update the associations of the custom object in the Data Management section in Settings.
- None of the above. You can only associate custom objects with other object types through an API call.
Question 14: Why are the standard CRM objects closely aligned?
- Because these objects need one another to make sense, such as having a contact associated with a deal.
- Because these objects have very similar properties.
- Because these objects can’t function independently of each other.
- Because these objects are always created by the same user.
Question 15: What is the importance of an entity relationship diagram?
- It clearly defines the maximum and minimum number of associations between contacts and tickets objects.
- It clearly defines the maximum and minimum number of associations between contacts and companies objects.
- It clearly defines the maximum and minimum number of associations between contacts and custom objects.
- It clearly defines the maximum and minimum number of associations between object types.
Question 16: What is the importance of an object type’s unique ID?
- You need the unique ID to access associated objects.
- You need the unique ID to add to your API endpoint.
- You need the unique ID to create new records.
- You the need unique ID to create new timeline events.
Question 17: How many company records can an individual engagement object, such as an email, be associated with?
- Either zero or one
- Always exactly one
- Many companies
- There can’t be associations between an email and a company record
Question 18: When making an API call to a standard object, what query parameter must you append to get connected contact records?
- ?properties=contacts
- ?archived=TRUE
- ?associations=contacts
- ?after=contacts
Question 19: True or false? You would have to make another call to the contacts endpoint to get more information on the contacts associated with a company.
- True
- False
Question 20: Which of the following is a drawback to how API calls return associated contacts object data?
- The call only returns the record ID property of the associated contacts and not any human-readable data.
- The call only returns the email property of the associated contacts and not the contact’s business address.
- The call only returns the first name of the associated contacts and not the last name.
- The call only returns the last name of the associated contacts and not the first name.
Question 21: True or false? In most situations, you’ll want to create a one-way bridge to dictate the flow of information between your integrations.
- True
- False
Question 22: What does delegated authorization mean?
- It delegates the kind of authorization the user can use with the app, giving them the ability to update it as needed.
- It creates a three-way bond between a user and two different apps, allowing apps to interact with each other and give the user a seamless experience.
- It splits authorization between read and write, so that some users can only read and others can only write.
- It creates a one-way bridge between a user and two different apps, so only the user can interact with both, but the two apps can’t interact with each other.
Question 23: Which of the following is an example of how you interact with OAuth on a daily basis?
- You sign into Facebook by tapping a message in your Facebook mobile app.
- You sign into a shopping site with your Google login information.
- You sign into your email by receiving a 6-digit code through text message.
- You scan a QR code from your WhatsApp mobile app to log into WhatsApp on your computer.
Question 24: True or false? The OAuth endpoint expects the form/urlencoded format instead of JSON.
- True
- False
Question 25: What is the purpose of an .env file?
- To keep secret keys outside of source code, which often live in online code repositories
- To set how the environment of the integration is structured
- To configure automated actions in online code repositories
- To host your JSON configurables
Question 26: What must you first obtain and then add to your OAuth flow (once the authorization expires)?
- To keep secret keys outside of source code, which often live in online code repositories
- To set how the environment of the integration is structured
- To configure automated actions in online code repositories
- To host your JSON configurables
Question 27: When working with a private app, you receive the error 403. How would you go about rectifying this error?
- Update the scopes in your private app scope settings.
- Update the access token in your integration.
- Update from using a private app to an OAuth flow.
- Create a new private app with different scopes.
Question 28: When expiring your private app access tokens, how much of a time buffer can you set before the private app token is rotated?
- Three days
- Five days
- Seven days
- Nine days
Question 29: Select all that apply. Which of the following are the different ways you can filter the private app API call logs?
- Response code
- HTTP method
- Date period
- CRM object type
Question 30: You want to build a private app that can create new custom objects. What scope would you need to give this private app access to?
- crm. objects. custom
- crm. schema. custom
- crm. schema. objects
- crm. objects. owners
Question 31: What are the two things you need to pass along to the axios .get method?
- The body object and the data format
- The API endpoint URL and the body object
- The headers object and the data format
- The API endpoint URL and the headers object
Question 32: How can you find the API version number for the call you’re using?
- The version number can be swapped out by using a query parameter
- The version number is embedded in the API endpoint URL, such as v1 or v3.
- The version number is embedded in the base URL, such as api. v1. hubapi or api. v3. hubapi.
- The version number can only be found in the response body of a successful call.
Question 33: True or false? Most HubSpot APIs require you to use either OAuth or private app for authentication.
- True
- False
Question 34: What is the main purpose of an API rate limit?
- To protect the stability of your personal HubSpot account
- To keep bad actors from stealing data
- To ensure every user has a quality experience with the system
- To help developers build lean code
Question 35: What is the main benefit of the HubSpot developer changelog?
- It helps you create new App Marketplace integrations.
- It allows you to update your HubSpot account with new features.
- It shares updates to the HubSpot product in a single place.
- It gives you a consolidated view of your HubSpot developer account.
Question 36: Fill in the blank: Apps using OAuth are subject to a limit of ____ requests every 10 seconds.
- 100
- 200
- 300
- 400
Question 37: Which API has a special limit of four requests per second per authentication token?
- The Webhook API
- The CRM API
- The Search API
- The Conversations API
Question 38: What is the maximum number of private apps you can create in one account?
- 5
- 10
- 15
- 20
Question 39: Which of the following is NOT a benefit of using a Batch API endpoint?
- You can consolidate the number of similar calls you make.
- You can better work with time-sensitive data so that they’re updated faster.
- You can complete multiple tasks in one call, such as updating records.
- You can reduce the chances of receiving 429 errors.
Question 40: A customer wants a ticket’s data called on a certain web page to also be available in other parts of the integration. What could you do to ensure you’re not making too many of the same calls to the API?
- Cache the data on the first call and then grab the data from the cache on subsequent uses.
- Use a batch API to call the data multiple times with one endpoint.
- Write an automation with a webhook API that’ll call the data on subsequent uses.
- Restrict the data to only appear on certain web pages.
Question 41: How does a webhook differ from a traditional API call?
- Webhooks have an API limit of four calls per second per authentication method.
- Webhooks only complete an action once the stated event occurs.
- Webhooks can only be used in a private app.
- Webhooks always return 200 successful response codes.
Question 42: True or false? You can list an integration that receives error responses 7% of the time.
- True
- False
Question 43: What is the best strategy to avoid receiving 400-level errors?
- Routinely clean your account data.
- Rotate your access tokens every 60 days.
- Ensure your integration has the correct scopes.
- Ensure your integration has the correct access token.
Question 44: Which of the following resources would be best to use if you wanted to crowdsource a development question you have?
- HubSpot developer YouTube channel
- HubSpot developer documentation
- HubSpot Academy
- HubSpot developer community
Question 45: Why is it best practice to add a delay between automatic, repeated API calls?
- It ensures another call won’t happen if the first call isn’t successful.
- It lessens the chance you’ll receive 404 errors.
- It lessens the chance you’ll receive 5xx temporarily overloaded errors.
- It keeps your integration running faster.
Question 46: What is the key difference between 400- and 500-level errors?
- 400-level errors are usually a user error. 500-level errors are usually with the cloud.
- 400-level errors are usually with the service you’re calling. 500-level errors are usually with the integration itself.
- 400-level errors are usually within the integration itself. 500-level errors are usually with the service you’re calling.
- 400-level errors are usually with the cloud. 500-level errors are usually a user error.
Question 47: True or false? You can use the dev docs to make test calls to the API.
- True
- False
Question 48: When would you likely receive a 477 error?
- If you had incorrect permissions.
- If you were going over your rate limit.
- If you were migrating your Hub to an EU hublet.
- If you had incorrect scopes.
Question 49: Where would you submit a question regarding a JavaScript error you received within the HubSpot developer Slack?
- #api
- #javascript
- #general
- #local-development
Question 50: Fill in the blank: For an integration, the single required parameter is _____.
- a property
- authentication
- limit
- after
Question 51: Why is it recommended to use Axios when making HTTP requests?
- Your HTTP requests fail less often.
- Your HTTP requests are made faster.
- All developers use it.
- The syntax clearly states what types of requests are being made.
Question 52: True or false? Using a try/catch is recommended in case the API call fails.
- True
- False
Question 53: What is the difference between a 200 response and a 201 response?
- 200 generally applies to POST calls, while 201 generally applies to GET calls.
- 200 generally applies to GET calls, while 201 generally applies to POST calls.
- 200 generally applies to improperly scoped calls, while 201 generally applies to rejected calls.
- 200 generally applies to rejected calls, while 201 generally applies to improperly gated calls.
Question 54: Select all that apply. What are some of the query parameters for standard CRM objects.
- associations
- propertiesWithHistory
- events
- after
Question 55: What is the purpose of a pug template?
- To more easily use CSS in your Node app
- To template out HTML code
- To more easily create HTML code that uses the data from the server-side
- To more easily use JavaScript on the front-end of a Node app
Question 56: A bike repair shop customer wants to make it easier for their repair technicians to alert customers when a job has been completed. Their repair technicians are busy and don’t have time to send individual messages to their customers. Which of the following is the fastest, easiest potential solution you could offer?
- Set up an automated email workflow that triggers when the ticket is completed.
- Build a mobile app that sends their customers alert messages when the repair technicians have finished the job.
- Use the emails and tickets APIs to build an integration that auto-sends emails upon ticket completion.
- Use the Webhooks API to send an alert to their customer on their website.
Question 57: True or false? You must build a Node app to test API calls.
- True
- False
Question 58: Fill in the blank: const headers = { Authorization: `Bearer ${private_app_token} ‘Content-Type: ______ }
- application/json
- application/xml
- multipart/form-data
- application/x-www-form-urlencoded
Question 59: Which of the following is the correct API endpoint for calling the Companies API?
- /Companies
- /crm/v3/objects/companies
- /crm/v1/objects/companies
- /crm/companies
Question 60: Which of the following is a key reason you should use node packages when building a basic Node app?
- Node packages allow you to use pre-built code for specific functionalities of your integration.
- Node packages allow you to re-write basic JavaScript commands to be more complex.
- Node packages allow you to write your code more quickly.
- Node packages allow you to package your own code into one index.js file.
Question 61: What is the purpose of using OAuth in a one-to-many integration?
- To allow only a single user to authenticate with the integration.
- To allow multiple different users to authenticate with the integration.
- To give multiple users access to the integration indefinitely.
- To allow only super admins access to the integration.
Question 62: What is NOT a key benefit of the HubSpot APIs being RESTful APIs?
- The HubSpot APIs follow the same set of architectural constraints that other API systems use.
- The HubSpot APIs are lightweight, because they rely on the HTTP standard and are platform-agnostic.
- The HubSpot APIs connect the server-side to the client-side, so they are never independent of one another.
- The HubSpot APIs are easily scalable to add new endpoints and features for developers.
Question 63: What HTTP method would you use if you wanted to read the tickets data from a HubSpot account?
- GATHER method
- PULL method
- GET method
- PATCH method
Question 64: Select all that apply. Which of the following is a difference in the way developers and users interact with the CRM?
- Developers focus on the object API endpoints, while customers focus on the object records.
- Developers use batch calls for large amounts of data, while users use the Import GUI.
- Developers can use GraphQL to call CRM data in an email or webpage, while users can use personalization tokens.
- Developers can delete CRM content using the HubSpot CLI, while users can delete from the object list view.
Question 65: Select all that apply. What is the purpose of having a pipeline view for deals and tickets?
- To more quickly drag and drop records into a new part of the pipeline.
- To visually see the current stage of the pipeline record.
- To more quickly update a record’s owner.
- To more easily know how many records are in each pipeline.
Question 66: True or false? A timeline event can be associated with zero contacts.
- True
- False
Question 67: Where can you find pre-built Postman collections to view and test API calls?
- The HubSpot developer Slack
- Within your HubSpot account
- The HubSpot developer community
- The HubSpot developer documentation
Question 68: Fill in the blank: There can be many timeline events associated with a contact, but a timeline event cannot be associated with ____ contacts.
- the oldest
- North American
- zero
- archived
Question 69: Which of the following is NOT a benefit of using OAuth as your authentication flow?
- It adds more complexity to the integration’s authentication.
- It allows an application to be portable.
- It can be created inside of single HubSpot accounts.
- It allows you to list your integration on the App Marketplace.
Question 70: What must the user do to authenticate with OAuth?
- Use a refresh token every few hours, so their app re-establishes a connection with their HubSpot account.
- Submit a temporary authorization code for the integration to access their HubSpot account.
- The user is given an access token they must use whenever they make an API call.
- None of the above. The user only has to read the first authorization screen and permit or deny the integration from accessing their HubSpot account. The rest happens in the backend.
Question 71: Fill in the blank: HubSpot API rate limits vary by authentication method and _____.
- product tier
- user permission type
- number of sales employees
- public beta status
Question 72: What is the key benefit of using a webhook call in a workflow?
- They’re counted as one request for every three calls.
- They’re available to all Marketing Hub product tiers.
- They’re faster than traditional API calls.
- They don’t count toward the API rate limit.
Question 73: What type of HTTP method is a batch API call?
- GET
- PATCH
- POST
- DELETE
Question 74: Which of the following is NOT a benefit of using the dev docs?
- You can copy and paste code snippets.
- You can directly submit questions to other developers.
- You can make test calls.
- You can download Postman collections.
Question 75: Fill in the blank: HubSpot API errors are structured to be ______, but it’ll also be helpful for you to recognize some common error response codes when troubleshooting.
- succinct
- human-readable
- foolproof
- legible
Question 76: A customer has a lot of inbox conversations coming in each day for their service reps. Their reps can sometimes miss questions because of how full it gets. They mainly work in Slack and would prefer if they could answer their customers’ questions without leaving that app. What part of the dev docs could help you create this connection point?
- The Webhooks section
- The Conversations section
- The Automation sections
- The Marketing sections
Question 77: What is NOT one of the benefits of the HubSpot developer community?
- You can find other developers with the same issues as you and what resolved it.
- You can participate in an Ask Me Anything (AMA) to learn from the community.
- You can post your own issues to crowdsource resolutions.
- You can get an overview of a specific API.
Question 78: How can you set up the idProperty to use a unique parameter, such as an email address, other than the contact record’s ID number?
- Use “idProperty=email”
- Use “idProperty=email@email.com”
- Use “idProperty=firstNameLastName”
- Use “idProperty=property”
Question 79: Which of the following is needed to call a custom property in your integration?
- The custom property’s ID
- The custom property’s value
- The custom property’s internal name
- The custom property’s property type
Question 80: What is the main purpose of a developer account?
- To create and support CMS Hub-based websites
- To manage CRM data and generate leads
- To write server-side code and create new databases
- To create and manage apps and test accounts
Question 81: A customer wants to create an internal integration that’ll assign a contact directly to a chosen workflow. What type of integration would this be and what type of authentication method would you use?
- One-to-many, OAuth
- One-to-one, OAuth
- One-to-many, Private app
- One-to-one, Private app
Question 82: True or false? You must have a Professional or higher HubSpot account to purchase the API Add-on.
- True
- False
Question 83: Select all that apply. What are the benefits of having an app monitoring tool in your HubSpot account?
- You can track how much of your daily usage you’ve used.
- You can access the specific response codes you received with each call.
- You can expire your access token if you find any suspicious behavior in the call logs.
- You can re-try a call that received an error.
Question 84: What is the most common cause of a 404 error?
- The data has been migrated to a new server.
- Your access token is outdated.
- You have an improperly scoped authentication method.
- The data is either deleted or archived.
Question 85: Select all that apply. Which of the following topics can be found on the API-side of the dev docs?
- CRM
- Analytics & Events
- Webhooks
- Data-Driven Content
Question 86: When creating a new object record, how is the new data sent along?
- In a headers object
- In a body object
- In the query parameters
- In a pug template
Question 87: Select all that apply. Which of the following is a benefit of using a promise when working with APIs in a Node App?
- Promises allow you to run code asynchronously.
- Promises make sure you only render the results once a value is returned.
- Promises allow you to pass callbacks into a function.
- Promises allow you to chain callbacks together.
Question 88: In the HubSpot UI, where can you find the other objects associated to an individual contact record?
- In the left-hand corner of an individual contact record
- In the contacts list view
- In the right-hand column of an individual contact record page
- In the center column of an individual contact record
Question 89: What account permission level is required to create private apps?
- Marketing team access
- Super admin access
- Developer Operations access
- Sales team access
Question 90: What is the main difference between the dev docs and the knowledge base (KB)?
- The dev docs are written with developers in mind, while the KB is written with end-users in mind.
- The dev docs are written with end-users in mind, while the KB is written with developers in mind.
- The dev docs have no code snippets, while the KB does.
- The dev docs have screenshot-based tutorials, while the KB only lists what features are available to you.
Question 91: Which of the following is NOT a way to keep your access token safe?
- Rotate your access tokens every six months
- Store access tokens in an .env file
- Keep your access tokens in a GitHub repository
- Routinely check call logs for any suspicious activity