Skip to content

Commit 7b3905b

Browse files
Merge pull request #7038 from segmentio/actions-hubspot-mappings-2.0
Hubspot Mappings 2.0 docs
2 parents d480ae9 + 7cd0cbd commit 7b3905b

File tree

4 files changed

+95
-1
lines changed

4 files changed

+95
-1
lines changed

src/_includes/components/actions-fields.html

+14
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,20 @@
129129
</div>
130130
{% endif %}
131131

132+
<!--- IG 9/2024 - PM wanted to call out that this specific HubSpot Cloud (Actions) Action can make multiple assosciations-->
133+
134+
{% if action.id == 'dMYued7r3VjK4c2gBWUTZi' %}
135+
<div class="premonition info">
136+
<div class="fa fa-check-circle"></div>
137+
<div class="content">
138+
<p class="header">You can use the Custom Object v2 Action to make multiple assosciations</p>
139+
<p markdown=1>
140+
For more information, see HubSpot's [Assosciate records](https://knowledge.hubspot.com/records/associate-records){:target="_blank”} documentation.
141+
</p>
142+
</div>
143+
</div>
144+
{% endif %}
145+
132146
{% if action.fields.size > 0 %}
133147
<p class="button button-hollow" data-toggle="collapse" data-target=".settings-content-{{action.slug}}">Click to show / hide fields</p>
134148
<div class="collapse settings-content-{{action.slug}} show">

src/connections/destinations/catalog/actions-hubspot-cloud/index.md

+30
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,38 @@ HubSpot Cloud Mode (Actions) provides the following benefits over the classic Hu
5353
> info ""
5454
> To ensure that data is sent downstream, configure and enable at least one mapping to handle a connected sources event(s).
5555
56+
## Actions v2
57+
58+
> info "You can use the Custom Object v2 Action to send Sensitive Data to HubSpot"
59+
> If you are participating in HubSpot's [Sensitive Data in HubSpot CRM beta](https://developers.hubspot.com/sensitive-data){:target="_blank"}, use the Custom Object v2 Action to send sensitive data to HubSpot.
60+
61+
Segment's v2 Actions, [Custom Object v2](/docs/connections/destinations/catalog/actions-hubspot-cloud/#custom-object-v2) and [Custom Event v2](/docs/connections/destinations/catalog/actions-hubspot-cloud/#custom-event-v2), support the following features:
62+
63+
- **Sync modes**: Control how Segment updates your downstream destination by selecting a sync mode, or a strategy for updating your downstream data
64+
- **Dynamic dropdowns**: When creating or updating a mapping in the Segment app, the dropdown auto-populates all of the available properties directly from HubSpot.
65+
- **Create and modify data**: Use Sync modes to create objects in your downstream destination without having to leave the Segment app.
66+
67+
> warning ""
68+
> You might need to reauthorize your HubSpot account to use all of the features associated with v2 Actions.
69+
70+
### Sync modes
71+
Sync modes allow users to define how Segment should update the data in your destination.
72+
73+
Available sync modes for the Custom Object v2 and Custom Event v2 Actions include:
74+
- **Update**: Modify existing records in the destination without adding new ones.
75+
- **Upsert**: Update existing records and add new ones, if necessary.
76+
- **Add**: Add records to a list, segment, or journey.
77+
5678
{% include components/actions-fields.html %}
5779

80+
## Rate limits
81+
HubSpot's [API rate limit](https://developers.hubspot.com/docs/api/usage-details#rate-limits){:target="_blank"} is 100 API calls per 10 seconds. While Segment implements retries for temporary issues, large data volumes sent simultaneously might exceed this limit and result in incomplete data transmission.
82+
83+
For customers with substantial data volumes, Segment recommends segmenting the data into smaller batches and scheduling transfers over an extended period of time. This approach ensures successful data transmission to HubSpot without encountering rate limits.
84+
85+
> info "HubSpot Associations might exacerbate rate limit issues"
86+
> [HubSpot Associations](https://developers.hubspot.com/docs/api/crm/associations){:target="_blank"} often require additional API calls. When working with Associations, carefully plan your strategy and consider a more gradual approach to creating them, especially for large datasets, to avoid reaching your API call limit.
87+
5888

5989
## Support for association between two custom object records in upsert custom object records
6090
To associate two records, it's mandatory to have these three fields: **Search Fields to associate** , **ObjectType to associate**, and **Association Label**. If any of these three fields aren't configured, the association skips.

src/connections/destinations/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ In order to override the default, check the destination settings pane in the Seg
109109

110110
## Sync modes
111111

112-
Sync mode allows users to define how changes in the source should send downstream to your destination. Depending on which destinations you set up in Segment, you may need to choose a sync mode for your data. This configuration determines how Segment updates your destination based on the source data.
112+
Sync modes allow users to define how changes in the source should send downstream to your destination. Depending on which destinations you set up in Segment, you may need to choose a sync mode for your data. This configuration determines how Segment updates your destination based on the source data.
113113

114114
The available sync modes can vary based on the destination, integration type, and actions within the destination. For example, if you sync customer data, you might have the option to Insert, Update, or Upsert records.
115115

src/connections/sources/catalog/libraries/website/javascript/custom-proxy.md

+50
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,56 @@ To add a CNAME record to your DNS settings:
178178
3. Save your record. This might take some time to take effect, depending on your TTL settings.
179179
4. Run `curl` on your domain to check if the proxy is working correctly.
180180

181+
## Common issues
182+
183+
These are some common issues that occur for customers implementing a custom proxy. This is not an exhaustive list, and these CloudFront or Cloudflare settings may change.
184+
185+
#### Cloudflare returning a 403 error
186+
187+
A 403 error can mean that you've misconfigured your Cloudflare CDN distribution. Try one of the following options to fix the error:
188+
189+
1. If you have a Cloudflare enterprise plan, create a Page Rule in Cloudflare so that Segment's CDN doesn't refuse the requests made through the Cloudflare Proxy. If `cdn.segment.com` is another CNAME that resolves to `xxx.cloudfront.net`, you will need to use a Page Rule in Cloudflare to override the host header to match the hostname for proxy requests. For more information about overriding the host header, see Cloudflare’s [Rewrite Host headers](https://developers.cloudflare.com/rules/page-rules/how-to/rewrite-host-headers/){:target="_blank”} docs.
190+
191+
192+
2. For customers who are not on the Cloudflare Enterprise plan, use Cloudflare Workers. Workers usually run on the main domain (for example, `www.domain.com`), but if you want Workers to run on a subdomain, like `http://segment.domain.com`, you must record the subdomain in your DNS. For more information, see Cloudflare's [Routes and domains](https://developers.cloudflare.com/workers/platform/routes#subdomains-must-have-a-dns-record){:target="_blank”} documentation.
193+
194+
When creating a Worker you can use this example provided by Cloudflare in their [Bulk origin override](https://developers.cloudflare.com/workers/examples/bulk-origin-proxy){:target="_blank”} documentation with the origins set to:
195+
196+
```ts
197+
const ORIGINS = {
198+
"yourcdndomain.com": "cdn.segment.com",
199+
}
200+
```
201+
202+
#### Cloudflare CORS issue
203+
204+
In order to resolve a CORS OPTIONS pre-request fetch error, you must specify "Strict (SSL-Only Origin Pull)" as a Cloudflare Page rule for the `api.segment.io` proxy. Please see Cloudflare's [Encryption modes](https://support.cloudflare.com/hc/en-us/articles/200170416-End-to-end-HTTPS-with-Cloudflare-Part-3-SSL-options#h_065d742e-8c0b-4ed4-8fb5-037e10fe5f9a){:target="_blank”} documentation for more details.
205+
206+
#### CloudFront Proxy returning a 403 error
207+
208+
If your CloudFront Proxy is returing a 403 error, the following change in CloudFront might resolve the issue:
209+
210+
```ts
211+
Before:
212+
Cache Based on Selected Request Headers: All
213+
214+
After:
215+
Cache Based on Selected Request Headers: None
216+
```
217+
218+
Alternatively, this setting may solve your issue:
219+
220+
```ts
221+
Before:
222+
Origin request policy: AllViewer
223+
224+
After:
225+
Origin request policy: None
226+
```
227+
228+
### CloudFront CORS issue
229+
230+
To resolve a CORS issue, you might need to add a referrer header in the request you send to Segment. Follow AWS's [How do I resolve the "No 'Access-Control-Allow-Origin' header is present on the requested resource" error from CloudFront?](https://aws.amazon.com/premiumsupport/knowledge-center/no-access-control-allow-origin-error/){:target="_blank”} guide, which explains how to add a referrer header.
181231

182232
## Self-hosting Analytics.js
183233

0 commit comments

Comments
 (0)