Skip to content

Commit 4b78fac

Browse files
authored
Merge pull request #424 from segmentio/repo-sync
repo sync
2 parents 8282f0d + 864ecec commit 4b78fac

File tree

6 files changed

+63
-64
lines changed

6 files changed

+63
-64
lines changed

src/_data/sidenav/strat.yml

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,25 @@ sections:
44
section_title: Adobe Integrations
55
section:
66
- path: /connections/destinations/catalog/adobe-analytics
7-
title: Adobe Analytics destination
8-
- path: /connections/destinations/catalog/actions-adobe-target-web
9-
title: Adobe Target Web Destination
10-
- path: /connections/destinations/catalog/actions-adobe-target-cloud
11-
title: Adobe Target Cloud Mode Destination
7+
title: 'Adobe Analytics destination: Overview'
128
- path: /connections/destinations/catalog/adobe-analytics/settings
13-
title: Mapping Segment to Adobe Analytics
9+
title: 'Adobe Analytics destination: Mappings'
1410
- path: /connections/destinations/catalog/adobe-analytics/identity
15-
title: Identity resolution in Segment Adobe Analytics
11+
title: 'Adobe Analytics destination: Identity resolution'
1612
- path: /connections/destinations/catalog/adobe-analytics/mobile
17-
title: Adobe Analytics for mobile
13+
title: 'Adobe Analytics destination: Mobile support'
1814
- path: /connections/destinations/catalog/adobe-analytics/heartbeat
19-
title: Adobe Analytics Heartbeat
15+
title: 'Adobe Analytics destination: Heartbeat tracking'
2016
- path: /connections/destinations/catalog/adobe-analytics/best-practices
21-
title: Adobe Analytics best practices
17+
title: 'Adobe Analytics destination: Best practices'
18+
- path: /connections/destinations/catalog/actions-adobe-target-web
19+
title: Adobe Target Web destination
20+
- path: /connections/destinations/catalog/actions-adobe-target-cloud
21+
title: Adobe Target Cloud Mode destination
2222
- path: /connections/destinations/catalog/marketo-v2
2323
title: Marketo destination
2424
- path: /connections/destinations/catalog/marketo-static-lists
25-
title: Marketo static lists destination (Personas)
25+
title: Marketo Static Lists destination (Personas)
2626
- path: /connections/sources/catalog/cloud-apps/marketo
2727
title: Marketo cloud source
2828

@@ -33,11 +33,13 @@ sections:
3333
- path: /connections/destinations/catalog/facebook-pixel
3434
title: Facebook Pixel destination
3535
- path: /connections/destinations/catalog/actions-facebook-conversions-api
36-
title: Facebook Conversions API Destination (Actions)
36+
title: Facebook Conversions API (Actions) destination
3737
- path: /connections/destinations/catalog/facebook-app-events
3838
title: Facebook App Events destination
3939
- path: /connections/destinations/catalog/facebook-offline-conversions
4040
title: Facebook Offline Conversions destination
41+
- path: /connections/destinations/catalog/personas-facebook-custom-audiences
42+
title: Facebook Custom Audiences destination (Personas)
4143
- path: /connections/sources/catalog/cloud-apps/facebook-ads
4244
title: Facebook Ads cloud source
4345
- path: /connections/sources/catalog/cloud-apps/facebook-lead-ads
@@ -48,29 +50,30 @@ sections:
4850
section_title: Google Integrations
4951
section:
5052
- path: /connections/destinations/catalog/firebase
51-
title: Google Firebase (mobile analytics) destination
53+
title: Google Firebase destination
5254
- path: /connections/destinations/catalog/google-analytics
5355
title: Google Universal Analytics destination
5456
- path: /connections/destinations/catalog/actions-google-analytics-4
5557
title: Google Analytics 4 destination
5658
- path: /connections/destinations/catalog/google-tag-manager
57-
title: Google Tag Manager
59+
title: Google Tag Manager destination
5860
- path: /connections/destinations/catalog/actions-google-enhanced-conversions
59-
title: Google Enhanced Conversions
61+
title: Google Enhanced Conversions destination
6062
- path: /connections/destinations/catalog/doubleclick-floodlight
6163
title: DoubleClick Floodlight destination
62-
- path: /connections/destinations/catalog/personas-display-video-360
63-
title: 'Using Personas with Google DV360 (Beta)'
6464
- path: /connections/destinations/catalog/google-ads-classic
65-
title: 'Google Ads (Classic) destination'
65+
title: Google Ads (Classic) destination
6666
- path: /connections/destinations/catalog/google-ads-gtag
67-
title: 'Google Ads (Gtag) destination'
67+
title: Google Ads (Gtag) destination
6868
- path: /connections/destinations/catalog/google-cloud-function
6969
title: Google Cloud Function destination
7070
- path: /connections/destinations/catalog/google-cloud-pubsub
71-
title: Google Cloud Pubsub destination
72-
- path: /connections/sources/catalog/libraries/mobile/android
73-
title: Google Android mobile source library
71+
title: Google Cloud Pub/Sub destination
72+
- path: /connections/destinations/catalog/adwords-remarketing-lists
73+
title: Google Ads Remarketing Lists destination (Personas)
74+
- path: /connections/destinations/catalog/personas-display-video-360
75+
title: Google Display & Video 360 destination (Personas)
76+
7477

7578
- slug: salesforce
7679
section_title: Salesforce Integrations
@@ -79,13 +82,8 @@ sections:
7982
title: Salesforce destination
8083
- path: /connections/destinations/catalog/actions-salesforce
8184
title: Salesforce (Actions) destination
82-
# This is in Private Beta
83-
# - path: /connections/destinations/catalog/salesforce-live-agent
84-
# title: Salesforce Live Agent destination
8585
- path: /connections/destinations/catalog/salesforce-marketing-cloud
8686
title: Salesforce Marketing Cloud destination
87-
# - path: /connections/destinations/catalog/salesforce-dmp
88-
# title: Salesforce DMP destination (beta)
8987
- path: /connections/destinations/catalog/pardot
9088
title: Salesforce Pardot destination
9189
- path: /connections/sources/catalog/cloud-apps/salesforce

src/connections/destinations/catalog/help-scout/index.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,7 @@ If you're not familiar with the Segment Specs, take a look to understand what th
3030

3131
You can use the Identify call to create or update customers in your Help Scout account.
3232

33-
A `name` and an `email` are required by Help Scout to complete the request. You can set the userId as the `email`, although this is [not recommended](/docs/connections/spec/identify/#user-id). You can also specify `firstName` and `lastName` traits instead of a single `name` trait. You can learn more about which properties Help Scout will accept [here](https://developer.helpscout.com/mailbox-api/endpoints/customers/create/).
33+
Help Scout requires a `name` and an `email` to complete the request. You can set the userId as the `email`, although this is [not recommended](/docs/connections/spec/identify/#user-id). You can also specify `firstName` and `lastName` traits instead of a single `name` trait. You can learn more about which properties Help Scout accepts [here](https://developer.helpscout.com/mailbox-api/endpoints/customers/create/){:target="_blank"}.
34+
35+
> info ""
36+
> This destination doesn't allow you to send custom properties to Help Scout. Use [Destination Functions](/docs/connections/functions/destination-functions/#create-a-destination-function) to send any non-standard properties to Help Scout.

src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
---
2-
title: 'Personas Facebook Custom Audiences Destination'
3-
beta: true
2+
title: 'Facebook Custom Audiences Destination'
3+
strat: facebook
44
hide-boilerplate: true
5-
hide-dossier: true
65
redirect_from: '/connections/destinations/catalog/personas-facebook-ads/'
76
id: 5a4d24dcc5836400017188f6
87
---

src/connections/functions/source-functions.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,20 @@ Source functions allow you to gather data from any third-party applications with
1212
All functions are scoped to your workspace, so members of other workspaces cannot view or use them.
1313

1414
> info ""
15-
> Functions is available to all customer plan types with a free allotment of usage hours. Read more about [Functions usage limits](/docs/connections/functions/usage/), or see [your workspace's Functions usage stats](https://app.segment.com/goto-my-workspace/settings/usage?metric=functions).
15+
> Functions is available to all customer plan types with a free allotment of usage hours. Read more about [Functions usage limits](/docs/connections/functions/usage/), or see [your workspace's Functions usage stats](https://app.segment.com/goto-my-workspace/settings/usage?metric=functions){:target="_blank"}.
1616
17-
![](images/source_functions_overview.png)
17+
![A graphic illustrating Segment source functions](images/source_functions_overview.png)
1818

1919

2020
## Create a source function
2121

22-
1. From your workspace, go to the Catalog and click the [Functions tab](https://app.segment.com/goto-my-workspace/functions/catalog).
22+
1. From your workspace, go to the Catalog and click the [Functions tab](https://app.segment.com/goto-my-workspace/functions/catalog){:target="_blank"}.
2323
2. Click **New Function**.
2424
4. Select **Source Function** and click **Build**.
2525

2626

2727
> success ""
28-
> **Tip:** Want to see some example functions? Check out the templates available in the Functions UI, or in the open-source [Segment Functions Library](https://github.com/segmentio/functions-library). (Contributions welcome!)
28+
> **Tip:** Want to see some example functions? Check out the templates available in the Functions UI, or in the open-source [Segment Functions Library](https://github.com/segmentio/functions-library){:target="_blank"}. (Contributions welcome!)
2929
3030
When you click **Build**, a code editor appears. Use the editor to write the code for your function, configure settings, and test the function's behavior.
3131

@@ -34,7 +34,7 @@ When you click **Build**, a code editor appears. Use the editor to write the cod
3434
## Code the source function
3535

3636
Source functions must have an `onRequest()` function defined.
37-
This function is executed by Segment for each HTTP request sent to this function's webhook.
37+
This function is executed by Segment for each HTTPS request sent to this function's webhook.
3838

3939
```js
4040
async function onRequest(request, settings) {
@@ -44,12 +44,12 @@ async function onRequest(request, settings) {
4444

4545
The `onRequest()` function receives two arguments:
4646

47-
- `request` - an object describing the incoming HTTP request.
47+
- `request` - an object describing the incoming HTTPS request.
4848
- `settings` - set of [settings](#create-️settings-and-secrets) for this function.
4949

50-
We'll learn more about settings later, let's dive into how we can process the incoming request first.
50+
### Request processing
5151

52-
To parse the JSON body of the request, use `request.json()` method as in the example below.
52+
To parse the JSON body of the request, use the `request.json()` method, as in the following example:
5353

5454
```js
5555
async function onRequest(request) {
@@ -59,7 +59,7 @@ async function onRequest(request) {
5959
```
6060

6161
Use the `request.headers` object to get values of request headers.
62-
Since it's an instance of [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers), the API is the same in both the browser and in Node.js.
62+
Since it's an instance of [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers){:target="_blank"}, the API is the same in both the browser and in Node.js.
6363

6464
```js
6565
async function onRequest(request) {
@@ -68,7 +68,7 @@ async function onRequest(request) {
6868
}
6969
```
7070

71-
To access the URL details, refer to `request.url` object, which is an instance of [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL).
71+
To access the URL details, refer to `request.url` object, which is an instance of [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL){:target="_blank"}.
7272

7373
```js
7474
async function onRequest(request) {
@@ -117,7 +117,7 @@ async function onRequest(request) {
117117

118118
##### Identify
119119

120-
Use [Identify calls](/docs/connections/spec/identify/) to connect user with their actions, and to record traits about them.
120+
Use [Identify calls](/docs/connections/spec/identify/) to connect users with their actions, and to record traits about them.
121121

122122

123123
```js
@@ -160,7 +160,7 @@ The `Segment.track()` method accepts an object with the following fields:
160160

161161
##### Group
162162

163-
[Group calls](/docs/connections/spec/group/) associate user with a group - be it a company, organization, account, project, team or other.
163+
[Group calls](/docs/connections/spec/group/) associate users with a group, like a company, organization, account, project, or team.
164164

165165

166166
```js
@@ -269,13 +269,13 @@ The `Segment.set()` method accepts an object with the following fields:
269269

270270
{% include content/functions/settings.md %}
271271

272-
Next, fill out this setting's value in **Test** tab, so that we can run our function and verify correct setting value is being passed.
272+
Next, fill out this setting's value in **Test** tab, so that you can run the function and check the setting values being passed.
273273

274274
Note, this value is only for testing your function.
275275

276276
![Test Value For Setting](images/setting-in-test-tab.png){:width="500"}
277277

278-
Now that we have our setting set up and test value filled in, we can add code to read its value and run our function:
278+
Now that you've configured a setting and filled in a test value, you can add code to read its value and run the function:
279279

280280
```js
281281
async function onRequest(request, settings) {
@@ -290,21 +290,21 @@ When you deploy a source function in your workspace, you are prompted to fill ou
290290

291291
## Test the source function
292292

293-
You can test your code directly from the editor in two ways: either by receiving real HTTP requests through a webhook, or by manually constructing an HTTP request from within the editor.
293+
You can test your code directly from the editor in two ways: either by receiving real HTTPS requests through a webhook, or by manually constructing an HTTPS request from within the editor.
294294

295295
The advantage of testing your source function with webhooks is that all incoming data is real, so you can test behavior while closely mimicking the production conditions.
296296

297297
### Testing source functions with a webhook
298298

299-
You can use webhooks to test the source function either by sending requests manually (using any HTTP client such as cURL or Insomnia), or by pasting the webhook into an external server that supports webhooks (such as Slack).
299+
You can use webhooks to test the source function either by sending requests manually (using any HTTP client such as cURL or Insomnia) or by pasting the webhook into an external server that supports webhooks (such as Slack).
300300

301301
From the source function editor, copy the webhook URL from the "Auto-fill via Webhook" dialog. To trigger the source function, send the request using the `POST` method, with the `Content-Type` header set to `application/json` or `application/x-www-form-urlencoded`.
302302

303303
### Testing source functions manually
304304

305-
You can also manually construct headers and body of an HTTP request right inside the editor and test with this data, without using webhooks.
305+
You can also manually construct the headers and body of an HTTPS request right inside the editor and test with this data without using webhooks.
306306

307-
![Test HTTP Request](images/test-manual.png){:width="500"}
307+
![Test HTTPS Request](images/test-manual.png){:width="500"}
308308

309309
## Save and deploy the function
310310

@@ -318,13 +318,13 @@ You can also choose to **Save & Deploy** to save the changes, and then choose wh
318318

319319
## Source functions logs and errors
320320

321-
Your function might encounter errors that you missed during testing, or you might intentionally throw errors in your code (for example if the incoming request is missing required fields).
321+
Your function might encounter errors that you missed during testing, or you might intentionally throw errors in your code (for example, if the incoming request is missing required fields).
322322

323-
If your function throws an error, execution halts immediately. Segment captures the incoming request, any console logs the function printed, and the error, and displays the this information in the function's **Errors** tab. You can use this tab to find and fix unexpected errors.
323+
If your function throws an error, execution halts immediately. Segment captures the incoming request, any console logs the function printed, and the error, and displays this information in the function's **Errors** tab. You can use this tab to find and fix unexpected errors.
324324

325325
![Source Function Error Logs](images/error-logs-source.png)
326326

327-
Functions can throw [an Error or custom Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error), and you can also add additional helpful context in logs using the [`console` API](https://developer.mozilla.org/en-US/docs/Web/API/console).
327+
Functions can throw [an Error or custom Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error){:target="_blank"}, and you can also add additional helpful context in logs using the [`console` API](https://developer.mozilla.org/en-US/docs/Web/API/console){:target="_blank"}.
328328
For example:
329329

330330
```js
@@ -348,7 +348,7 @@ async function onRequest(request, settings) {
348348
### Error types
349349

350350
- **Bad Request** is any error thrown by your code not covered by the other errors.
351-
- **Invalid Settings**: A configuration error prevented Segment from executing your code. If this error persists for more than an hour, [contact Segment Support](https://segment.com/help/contact/).
351+
- **Invalid Settings**: A configuration error prevented Segment from executing your code. If this error persists for more than an hour, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.
352352
- **Message Rejected**: Your code threw `InvalidEventPayload` or `ValidationError` due to invalid input.
353353
- **Unsupported Event Type**: Your code does not implement a specific event type (`onTrack()`, etc.) or threw a `EventNotSupported` error.
354354
- **Retry** - Your code threw `RetryError` indicating that the function should be retried.
@@ -365,14 +365,14 @@ Segment only attempts to run your source function again if a **Retry** error occ
365365

366366
### Editing and deleting source functions
367367

368-
If you are a **Workspace Owner** or **Functions Admin**, you can manage your source function from the [Functions](https://app.segment.com/goto-my-workspace/functions/catalog) tab in the catalog.
368+
If you are a **Workspace Owner** or **Functions Admin**, you can manage your source function from the [Functions](https://app.segment.com/goto-my-workspace/functions/catalog){:target="_blank"} tab in the catalog.
369369

370370
### Connecting source functions
371371

372372
> note ""
373373
> You must be a **Workspace Owner** or **Source Admin** to connect an instance of your function in your workspace.
374374
375-
From the [Functions tab](https://app.segment.com/goto-my-workspace/functions/catalog), click **Connect Source** and follow the prompts to set it up in your workspace.
375+
From the [Functions tab](https://app.segment.com/goto-my-workspace/functions/catalog){:target="_blank"}, click **Connect Source** and follow the prompts to set it up in your workspace.
376376

377377
Once configured, find the webhook URL - either on the **Overview** or **Settings → Endpoint** page.
378378

@@ -390,4 +390,4 @@ The maximum payload size for an incoming webhook payload is 512 KiB.
390390

391391
##### What is the timeout for a function to execute?
392392

393-
The execution time limit is 5 seconds, however Segment strongly recommends that you keep execution time as low as possible. If you are making multiple external requests you can use async / await to make them concurrently, which will help keep your execution time low.
393+
The execution time limit is five seconds, however Segment strongly recommends that you keep execution time as low as possible. If you are making multiple external requests you can use async / await to make them concurrently, which will help keep your execution time low.

0 commit comments

Comments
 (0)