gatsby-source-hubspot

    2.2.0 • Public • Published

    gatsby-source-hubspot

    npm version

    This source plugin for Gatsby will make posts from a Hubspot blog available in GraphQL queries.

    Installation

    # Install the plugin
    yarn add gatsby-source-hubspot

    For Gatsby version 1 support use version 1.0.0 of this package

    yarn add gatsby-source-hubspot@1.0.0

    Configuration

    In gatsby-config.js:

    module.exports = {
      plugins: [
        {
          resolve: 'gatsby-source-hubspot',
          options: {
            key: 'YOUR_HUBSPOT_API_KEY'
          }
        }
      ]
    };

    NOTE: More information on Hubspot authentication.

    Filter Options

    The filter options for this plugin mirror the “Optional query string filters & options”. Please review those docs for more details.

    Parameter name Description
    limit The number of items to return. Defaults to 20
    offset The offset set to start returning rows from. Defaults to 0.
    archived Returns the posts that match the boolean lookup (e.g. archived=false returns all posts currently not archived).
    blog_author_id Returns the posts that match a particular blog author ID value.
    campaign Returns the posts that match the campaign guid. The campaign guid can be found in the campaign dashboard URL (e.g. https://app.hubspot.com/campaigns/:portal_id/#/details/:campaign_guid).
    content_group_id Returns the posts that match the blog guid. The blog guid can be found in the blog dashboard URL (e.g. https://app.hubspot.com/blog/:portal_id/dashboard/:blog_guid).
    created Returns the posts that match a particular created time value. Supports exact, range, gt, gte, lt, lte lookups.
    deleted_at Returns the posts that match a particular deleted time value. Supports exact, gt, gte, lt, lte lookups.
    name Returns the posts that match the name value. Supports exact, contains, icontains, ne lookups.
    slug Returns the posts that match a particular slug value.
    updated Returns the posts that match a particular updated time. Supports exact, range, gt, gte, lt, lte lookups.
    state DRAFT, PUBLISHED, or SCHEDULED.
    order_by Return the posts ordered by a particular field value. Blog posts can currently only be sorted by publish_date. Use a negative value to sort in descending order (e.g. order_by=-publish_date).

    Example Filter Option Configuration

    module.exports = {
      plugins: [
        {
          resolve: 'gatsby-source-hubspot',
          options: {
            key: process.env.HUBSPOT_API_KEY,
            filters: {
              limit: 10,
              state: 'PUBLISHED',
              offset: 2
            }
          }
        }
      ]
    };

    Querying Hubspot Posts

    Once the plugin is configured, two new queries are available in GraphQL: allHubspotPost and HubspotPost.

    Here’s an example query to load 10 posts:

    query PostQuery {
      allHubspotPost(limit: 10) {
        edges {
          node {
            id,
            title,
            body,
            state,
            author {
              id
              avatar,
              name,
              full_name,
              bio,
              email,
              facebook,
              google_plus,
              linkedin,
              twitter,
              twitter_username,
              website,
              slug
            },
            feature_image {
              url,
              alt_text
            },
            meta {
              title,
              description
            },
            summary,
            published,
            updated,
            created,
            slug
          } 
        }
      }
    }

    See the Hubspot COS Blog Post API docs or the GraphiQL UI for info on all returned fields.

    Install

    npm i gatsby-source-hubspot

    DownloadsWeekly Downloads

    187

    Version

    2.2.0

    License

    MIT

    Unpacked Size

    10.3 kB

    Total Files

    5

    Last publish

    Collaborators

    • lewisvrobinson