PHPackages                             formatd/hubspot - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. formatd/hubspot

ActiveNeos-package[API Development](/categories/api)

formatd/hubspot
===============

A HubSpot form finisher that sends neos form builder forms to hubspot

v1.0.2(1y ago)01531[1 PRs](https://github.com/Format-D/FormatD.HubSpot/pulls)MITPHP

Since Jan 30Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Format-D/FormatD.HubSpot)[ Packagist](https://packagist.org/packages/formatd/hubspot)[ RSS](/packages/formatd-hubspot/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (5)Used By (0)

FormatD.HubSpot
===============

[](#formatdhubspot)

A HubSpot form finisher that sends neos form builder forms to hubspot

What does it do?
----------------

[](#what-does-it-do)

This package provides a form finisher for neos form builder and a php service to send data to hubspot forms. Several forms with field mappings can be configured via settings and selected in the backend form finisher.

Kompatiblität
-------------

[](#kompatiblität)

Versioning scheme:

```
 1.0.0
 | | |
 | | Bugfix Releases (non breaking)
 | Neos Compatibility Releases (non breaking except framework dependencies)
 Feature Releases (breaking)

```

Releases und compatibility:

Package-VersionNeos CMS Version1.0.x8.xAPI-Credentials
---------------

[](#api-credentials)

Create API-Credentials in HubSpot and add them to neos settings:

```
FormatD:
  HubSpot:
    api:
      portalId: 'my-hubspot-portal-id'
      accessToken: 'my-secret-access-token'
```

Field Mappings
--------------

[](#field-mappings)

The package comes with the following default mapping. This mapping can be modified or additional mappings can be configured. The objectTypeId is a sort of field-type defined by HubSpot.

```
FormatD:
  HubSpot:
    formFinisherMappings:
      default:
        firstname:
          objectTypeId: '0-1'
          name: 'firstname'
          value: '${fieldValue}'
        lastname:
          objectTypeId: '0-1'
          name: 'lastname'
          value: '${fieldValue}'
        company:
          objectTypeId: '0-1'
          name: 'company'
          value: '${fieldValue}'
        email:
          objectTypeId: '0-1'
          name: 'email'
          value: '${fieldValue}'
        phone:
          objectTypeId: '0-1'
          name: 'phone'
          value: '${fieldValue}'
        subject:
          objectTypeId: '0-5'
          name: 'subject'
          value: "${'Request from ' + formValues.company}"
        content:
          objectTypeId: '0-5'
          name: 'content'
          value: '${fieldValue}'
```

EEL-Helper for file upload
--------------------------

[](#eel-helper-for-file-upload)

If you want to use a file upload field in your form you need to use the EEL-Helper `HFile.uploadFileAndGetUrl`. This helper uploads the file to the file manager of HubSpot and returns the new URL as a field value, before the form is submitted. For the file upload you need to define the folder ID of the folder in HubSpot. You do it either in the setting:

```
FormatD:
  HubSpot:
    api:
      defaultUploadFolderId: '111111111111'
```

or you set the optional parameter in the helper: `${HFile.uploadFileAndGetUrl(fieldValue, 111111111111)}`.

Here is how you can include the file upload field in your finisher mapping:

```
FormatD:
  HubSpot:
    formFinisherMappings:
      default:
        fileUpload:
          objectTypeId: '0-5'
          name: 'fileUpload'
          value: '${HFile.uploadFileAndGetUrl(fieldValue, 111111111111)}'
```

Extending
---------

[](#extending)

Eel expressions can be used in the mapping configuration. These variables form the context can be used in these eel expressions per default: `formValues`, `fieldValue`. If you need more your best bet would be to extend the finisher class and provide more context by overriding the `collectMappingContextVariables()` method in the HubSpotFormFinisher class. This way it would be possible to provide additional data form session or other sources.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~127 days

Total

3

Last Release

585d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bb327c5b80466d2d0236e188879eb7bfefe44330e56fe7cc27b5417a5b9689ea?d=identicon)[formatd](/maintainers/formatd)

---

Top Contributors

[![bweinzierl](https://avatars.githubusercontent.com/u/30659291?v=4)](https://github.com/bweinzierl "bweinzierl (7 commits)")[![fdchriswaechter](https://avatars.githubusercontent.com/u/110408213?v=4)](https://github.com/fdchriswaechter "fdchriswaechter (7 commits)")[![PetraWeinmueller](https://avatars.githubusercontent.com/u/42027350?v=4)](https://github.com/PetraWeinmueller "PetraWeinmueller (1 commits)")

### Embed Badge

![Health badge](/badges/formatd-hubspot/health.svg)

```
[![Health](https://phpackages.com/badges/formatd-hubspot/health.svg)](https://phpackages.com/packages/formatd-hubspot)
```

###  Alternatives

[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[facebook/php-business-sdk

PHP SDK for Facebook Business

90821.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

74513.7M114](/packages/meilisearch-meilisearch-php)[google/common-protos

Google API Common Protos for PHP

173103.7M50](/packages/google-common-protos)[hubspot/api-client

Hubspot API client

23914.2M16](/packages/hubspot-api-client)[rossjcooper/laravel-hubspot

Adds a Laravel specific wrapper for the Hubspot client package

65696.6k](/packages/rossjcooper-laravel-hubspot)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
