Giter Site home page Giter Site logo

hubspot / ui-extensions-examples Goto Github PK

View Code? Open in Web Editor NEW
61.0 9.0 51.0 34.75 MB

This repository contains code examples of UI extensions built with HubSpot CRM development tools beta

Home Page: https://developers.hubspot.com/docs/platform/sample-projects

License: MIT License

JavaScript 42.09% TypeScript 57.91%
ui-extensions hubspot crm crm-integration crm-platform

ui-extensions-examples's Introduction

This repository contains helpful examples to get started with using React as a front-end UI extensions. This is available as public beta under developer beta terms & agreements.

Over the last year, we have received invaluable feedback from our beta participants and active community developers about custom cards available through the CRM development beta. We heard loud and clear that you need:

  • More flexible & interactive front-end to handle complex use cases
  • Developer experience specifically optimized for front-end development.

The feedback and use cases you've shared with us have helped define the exciting next chapter for UI extensibility at HubSpot, and for that, we are deeply grateful. We're thrilled to invite you to participate in a public beta for our new React-based UI extensions. UI extensions will now enable you to build front-end experiences using frameworks like React while continuing to use HubSpot’s serverless functions as needed. This enables you to leverage the active ecosystem and open-source tooling that React is known for.


README

This is a collection of HubSpot developer projects with custom CRM cards. Each folder holds a working developer project, including a README with a description on what that example CRM card demonstrates and instructions on how to get the card working in your own HubSpot account.

Access to these UI Extensions is part of CRM Development public beta, and more examples will be added over time.

Prerequisites

  • You must have an active HubSpot account with Sales or Service Hub Enterprise access.
  • Your HubSpot account must be enrolled in CRM development tools public beta. You can enroll by visiting this product update.
  • You must be using the latest HubSpot CLI.

Quick Start

Step 1: Update your CLI and & authenticate your account

  1. Update to latest CLI version by running npm install -g @hubspot/cli@latest.
  2. Run hs init to create a config file for your parent account.
  3. Run hs auth to authenticate your account. Alternatively, select your pre-authenticated account with hs accounts use.

Step 2: Create a project

In the folder where you want a sample to be cloned, create a new project by running hs project create --templateSource="HubSpot/ui-extensions-examples". Give it a name, specify a project directory, and select a sample you'd like to run in your account.

Step 3: Install dependencies

Now in the CLI, cd into your project directory such as cd <project_dir>. Run npm install to install the dependencies for this project.

Step 4: Configure and upload the project

Follow project-specific instructions in the project folder README file. You might need to set up additional environmental variables and provide test data.

Run hs project upload. If you’d like to build on this project, run hs project dev to kickoff the dev process and see changes reflected locally as you build.

Lockfiles

It's best practice to generate package lockfiles before uploading projects. This will help prevent running out of file descriptors during the build, and streamline subsequent builds. To generate a lockfile for a project, either install the project locally using npm install or generate the lockfile only using npm install --package-lock-only.

Get started with developer project

UI extensions are created using developer projects that are part of CRM development beta. Read Quick Start guide for developer projects for instructions to get started.

Tools available in this repository

ESLint and Prettier are included in the root of this repository for ease of development. You can choose whether or not to use them yourself. The usage of ESLint and Prettier in this repository can also serve as an example of how to set them up in your own directory of HubSpot developer projects if you so choose.

ESLint

ESLint is a common, open-source linting tool for JavaScript code. To check for any ESLint errors, use the following command:

npx eslint .

Prettier

Prettier is an opinionated code formatter. This tool helps developers spend more time coding, and less time on adjusting code style.

Prettier can be set up to run in your editor each time you save a file. Prettier can also be run through the CLI, using the following command:

npx prettier --write .

ui-extensions-examples's People

Contributors

aanchalhs avatar alzheltkovskiy-hubspot avatar atanasiuk-hubspot avatar banderson avatar deidrakandra avatar dshekhtman avatar joe-yeager avatar julienerg avatar sejal27 avatar skaplan-dev avatar tamara-at-hubspot avatar triippz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ui-extensions-examples's Issues

Unable to upload

[ERROR] The request in account 24392584 was forbidden. Failed to perform the action. 24392584 does not have access to this feature. Contact HubSpot support for assistance.
✖ Failed to upload ctm-hubspot-text project files to ctm-dev (24392584)
[ERROR] The post in account 24392584 was forbidden. Failed to perform the action. 24392584 does not have access to this feature. Contact HubSpot support for assistance.

Add screenshots/animated gifs of each card example in action

Is your feature request related to a problem? Please describe.
At a glance, it can be hard to tell exactly what an example CRM card is going to look like and function like from the ReadMes.
If you come to the repository, you don't necessarily know which example card is most similar to the use case that you have until you do all of the work to fully set it up in your account, or dig in deep into the code

Describe the solution you'd like
I'd be helpful to have a screenshot or GIF for each of the card so you can tell what this should look like.

[ERROR] Unknown argument: templateSource

Describe the bug
When I follow the instructions in the repo, I get the error Unknown argument: templateSource.

To Reproduce
Steps to reproduce the behavior:

  1. Go to command line
  2. Update CLI to the latest version using npm install -g @hubspot/cli@next
  3. Type hs project create --templateSource='Hubspot/ui-extensions-examples'
  4. See error

Expected behavior
I expected to be able to successfully upload the CRM Components Extensions project example to my Hubspot account.

Desktop (please complete the following information):

  • Macbook Pro
  • OS: Sonoma 14.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.