Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions components/amplitude/actions/create-cohort/create-cohort.mjs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";
import { COHORT_ID_TYPES } from "../../common/constants.mjs";

export default {
key: "amplitude-create-cohort",
name: "Create Cohort",
description: "Create a static cohort in Amplitude from an explicit list of user or Amplitude IDs via `POST /api/3/cohorts/upload` (the only REST-documented cohort creation endpoint; behavioral/dynamic cohorts cannot be created via REST). Use **List Cohorts** to find an existing cohort ID if updating. Example: call with `cohortName=\"Power Users Q3\"`, `appId=849238`, `idType=\"BY_USER_ID\"`, `ids=[\"user@example.com\"]`, `owner=\"admin@example.com\"` -> returns `{cohortId: \"abc123\"}`. [See the documentation](https://amplitude.com/docs/apis/analytics/behavioral-cohorts#upload-cohort).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: false,
destructiveHint: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";
import { COHORT_DOWNLOAD_MAX_MEMBERS } from "../../common/constants.mjs";
import { parseCohortDownload } from "../../common/utils.mjs";
Expand All @@ -7,8 +6,9 @@ export default {
key: "amplitude-download-cohort-file",
name: "Download Cohort File",
description: "Download a completed cohort export's member list (step 3 of 3: request -> status -> download). Call **Request Cohort Download** then **Get Cohort Download Status** first, and only call this once status is `JOB COMPLETED` — calling it earlier will fail. Returns one record per member (`amplitude_id`/`user_id`, plus any requested user properties) — not the cohort's own metadata (name, size, definition); use **List Cohorts** for that. Example: call with `requestId=\"req_456\"` -> returns `{requestId: \"req_456\", memberCount: 4200, returnedCount: 4200, truncated: false, members: [{amplitude_id: \"123456789\", user_id: \"user@example.com\"}, ...]}`. [See the documentation](https://amplitude.com/docs/apis/analytics/behavioral-cohorts#download-cohort).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";

export default {
key: "amplitude-get-cohort-download-status",
name: "Get Cohort Download Status",
description: "Check whether a cohort download job has finished (step 2 of 3: request -> status -> download). Call **Request Cohort Download** first to get a `requestId`. This action polls internally for up to ~35 seconds before returning, since Amplitude's export jobs commonly take 30-60+ seconds regardless of cohort size. If the returned `async_status` is still `JOB INPROGRESS`, call this action again with the same request ID (it may take a few calls) — do not call **Download Cohort File** until `async_status` is `JOB COMPLETED`. Example: call with `requestId=\"req_456\"` -> returns `{request_id: \"req_456\", cohort_id: \"abc123\", async_status: \"JOB COMPLETED\"}`. [See the documentation](https://amplitude.com/docs/apis/analytics/behavioral-cohorts#get-request-status).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import { ConfigurationError } from "@pipedream/platform";
import app from "../../amplitude.app.mjs";
import {
Expand All @@ -10,8 +9,9 @@ export default {
key: "amplitude-get-event-segmentation",
name: "Get Event Segmentation",
description: "Query event segmentation data (counts, uniques, and other metrics) for one or more events over a date range from the Amplitude Dashboard REST API. Use this to analyze how an event trends over time, optionally broken down by user properties. Example: call with `event={\"event_type\":\"Purchase\"}`, `startDate=\"20240706\"`, `endDate=\"20240805\"`, `metric=\"uniques\"` -> returns `{data: {xValues: [\"2024-07-06\", ...], series: [[42, 51, ...]]}}` (one value per day per requested series). [See the documentation](https://amplitude.com/docs/apis/analytics/dashboard-rest#event-segmentation).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";
import {
FUNNEL_MODES,
Expand All @@ -10,8 +9,9 @@ export default {
key: "amplitude-get-funnel-analysis",
name: "Get Funnel Analysis",
description: "Compute conversion rates across an ordered (or unordered/sequential) set of funnel steps over a date range from the Amplitude Dashboard REST API. Provide one event definition per funnel step. Example: call with `events=[\"{\\\"event_type\\\":\\\"Sign Up\\\"}\",\"{\\\"event_type\\\":\\\"Purchase\\\"}\"]`, `startDate=\"20240706\"`, `endDate=\"20240805\"` -> returns `{data: [{stepByStep: [...], cumulative: [...], eventCount: 4200}, ...]}` (one entry per step). [See the documentation](https://amplitude.com/docs/apis/analytics/dashboard-rest#funnel-analysis).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import { ConfigurationError } from "@pipedream/platform";
import app from "../../amplitude.app.mjs";
import { RETENTION_MODES } from "../../common/constants.mjs";
Expand All @@ -7,8 +6,9 @@ export default {
key: "amplitude-get-retention-analysis",
name: "Get Retention Analysis",
description: "Compute retention (return rate) between a start event and a return event over a date range from the Amplitude Dashboard REST API. Example: call with `startEvent={\"event_type\":\"_new\"}`, `returnEvent={\"event_type\":\"_active\"}`, `startDate=\"20240706\"`, `endDate=\"20240805\"` -> returns `{data: {series: [[...retention counts per interval...]], seriesLabels: [...]}}`. [See the documentation](https://amplitude.com/docs/apis/analytics/dashboard-rest#retention-analysis).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";
import {
USER_ACTIVITY_DIRECTIONS,
Expand All @@ -13,8 +12,9 @@ export default {
key: "amplitude-get-user-activity",
name: "Get User Activity",
description: `Fetch the event stream for a single user by their numeric Amplitude ID from the Amplitude Dashboard REST API. Each returned event defaults to just ${USER_ACTIVITY_ALWAYS_FIELDS.join(" and ")}; pass \`fields\` to also get e.g. \`event_properties\`, \`user_properties\`, \`uuid\`, \`session_id\`, \`amplitude_id\`, \`device_id\` (event objects can carry many properties, so these stay opt-in). Amplitude's API caps each request at ${LIMIT_MAX} events with no cursor; this tool pages \`offset\` forward automatically to collect up to \`limit\` events (set it above ${LIMIT_MAX}, up to ${USER_ACTIVITY_MAX_RESULTS}, to fetch more than one page). Use **Search Users** first to resolve the Amplitude ID. Example: call with \`user=12345678\`, \`limit=50\` -> returns \`{events: [{event_type: "Purchase", event_time: "2024-08-05 14:22:10"}, ...], userData: {...}, truncated: false}\` (\`truncated: true\` means more events likely exist beyond what was returned — raise \`limit\`/\`offset\` to fetch further). [See the documentation](https://amplitude.com/docs/apis/analytics/dashboard-rest#user-activity).`,
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
4 changes: 2 additions & 2 deletions components/amplitude/actions/list-cohorts/list-cohorts.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";
import { COHORT_DEFAULT_FIELDS } from "../../common/constants.mjs";
import { pluck } from "../../common/utils.mjs";
Expand All @@ -7,8 +6,9 @@ export default {
key: "amplitude-list-cohorts",
name: "List Cohorts",
description: `List all behavioral cohorts in the Amplitude project. Returns a \`cohorts\` array; each entry defaults to ${COHORT_DEFAULT_FIELDS.join(", ")}. Pass \`fields\` to get more, e.g. \`description\`, \`published\`, \`archived\`, or the large \`definition\` (the cohort's filter logic) / \`owners\`/\`viewers\` (email arrays). Use this to discover valid cohort IDs for **Request Cohort Download** (step 1 of 3, followed by **Get Cohort Download Status** and **Download Cohort File**, to fetch a cohort's member list). Example: call with no parameters -> returns \`{cohorts: [{id: "abc123", name: "Power Users Q3", size: 4200, lastMod: 1722873600000, appId: 849238}, ...]}\`. [See the documentation](https://amplitude.com/docs/apis/analytics/behavioral-cohorts#get-all-cohorts).`,
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";

export default {
key: "amplitude-request-cohort-download",
name: "Request Cohort Download",
description: "Start a behavioral cohort download job (step 1 of 3: request -> status -> download, per Amplitude's Behavioral Cohorts Download API). Returns a `request_id` — pass it to **Get Cohort Download Status** to poll until the job completes, then to **Download Cohort File** to fetch the member list. Use **List Cohorts** first to discover valid cohort IDs. Example: call with `cohortId=\"abc123\"` -> returns `{request_id: \"req_456\", cohort_id: \"abc123\"}`. [See the documentation](https://amplitude.com/docs/apis/analytics/behavioral-cohorts#get-one-cohort).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: false,
destructiveHint: false,
Expand Down
4 changes: 2 additions & 2 deletions components/amplitude/actions/search-users/search-users.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// x-pd-ai: optimized
import app from "../../amplitude.app.mjs";

export default {
key: "amplitude-search-users",
name: "Search Users",
description: "Look up Amplitude users by Amplitude ID, Device ID, User ID, or a User ID prefix. Use this before **Get User Activity** to resolve a user's `amplitude_id`. Example: call with `user=\"user@example.com\"` -> returns `{matches: [{amplitude_id: 12345678, user_id: \"user@example.com\"}], type: \"user_id\"}`. [See the documentation](https://amplitude.com/docs/apis/analytics/dashboard-rest#user-search).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
// x-pd-ai: optimized
import { ConfigurationError } from "@pipedream/platform";
import app from "../../amplitude.app.mjs";

export default {
key: "amplitude-send-event-data",
name: "Send Event Data",
description: "Record a single analytics event for a user or device via Amplitude's HTTP V2 API. Use this to send product-usage events (page views, feature use, purchases) as they happen, rather than the read-only Dashboard REST actions in this app (e.g. **Get Event Segmentation**, **Get Retention Analysis**), which only read existing data back. Identify the user with `userId` and/or `deviceId` — Amplitude requires at least one. Example: call with `userId=\"user_123\"`, `eventType=\"Purchase\"`, `eventProperties={\"item\":\"Pro Plan\",\"price\":29.99}` -> returns `{code: 200, events_ingested: 1, payload_size_bytes: 148, server_upload_time: 1722873600000}`. [See the documentation](https://www.docs.developers.amplitude.com/analytics/apis/http-v2-api/#keys-for-the-event-argument)",
version: "0.1.0",
version: "0.1.1",
annotations: {
destructiveHint: false,
openWorldHint: true,
readOnlyHint: false,
},
type: "action",
ai: "optimized",
props: {
app,
userId: {
Expand Down
2 changes: 1 addition & 1 deletion components/amplitude/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pipedream/amplitude",
"version": "0.2.0",
"version": "0.2.1",
"description": "Pipedream Amplitude Components",
"main": "amplitude.app.mjs",
"keywords": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ export default {
+ " enroll contacts already active in other sequences."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/add-contacts-to-sequence)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ export default {
+ " discover valid stage IDs."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/create-an-account)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ export default {
+ " **Search Accounts** to find the account ID."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/create-a-contact)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ export default {
+ " Use **Get Current User** to find owner IDs."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/create-opportunity)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ export default {
+ " asynchronously."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/people-enrichment)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ export default {
+ " **Search Accounts**."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/get-authenticated-user)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ export default {
+ " retrieval."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/get-opportunity)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ export default {
+ " for **Create or Update Opportunity**."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/get-contact-stages)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ export default {
+ " contacts or opportunities."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/search-for-accounts)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ export default {
+ " company, and email."
+ " [See the documentation](https://docs.apollo.io/reference"
+ "/search-for-contacts)",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
2 changes: 1 addition & 1 deletion components/apollo_io_oauth/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pipedream/apollo_io_oauth",
"version": "0.1.0",
"version": "0.1.1",
"description": "Pipedream Apollo.io (OAuth) Components",
"main": "apollo_io_oauth.app.mjs",
"keywords": [
Expand Down
4 changes: 2 additions & 2 deletions components/arlo/actions/create-event/create-event.mjs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// x-pd-ai: optimized
import { ConfigurationError } from "@pipedream/platform";
import arlo from "../../arlo.app.mjs";

export default {
key: "arlo-create-event",
name: "Create Event",
description: "Create a new scheduled Arlo Event by submitting an event import request. Provide the parent template `Code` (not its numeric ID) and one or more sessions. The Arlo API processes this asynchronously and returns an `AsyncTaskID`; the created event starts in `Draft` status. Run **List Event Templates** to find the template `Code`. Example: call with `templateCode: \"SP1\"`, `sessions: '[{\"Name\":\"Day 1\",\"StartDateTime\":\"2026-09-15T09:00:00+12:00\",\"EndDateTime\":\"2026-09-15T17:00:00+12:00\"}]'` to schedule one session under that template. [See the documentation](https://developer.arlo.co/doc/api/2012-02-01/auth/resources/eventimportrequests#submitting).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: false,
destructiveHint: false,
Expand Down
4 changes: 2 additions & 2 deletions components/arlo/actions/create-presenter/create-presenter.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// x-pd-ai: optimized
import arlo from "../../arlo.app.mjs";

export default {
key: "arlo-create-presenter",
name: "Create Presenter",
description: "Create a new Arlo contact record to be used as a presenter. FirstName, LastName, and Email are required. Returns the created contact including its ID. Example: call with `firstName: \"Kevin\"`, `lastName: \"Malone\"`, `email: \"kevin.malone@example.com\"` to create a new active contact and get back its `ContactID`. [See the documentation](https://developer.arlo.co/doc/api/2012-02-01/auth/resources/contacts#collection-httppost).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: false,
destructiveHint: false,
Expand Down
4 changes: 2 additions & 2 deletions components/arlo/actions/get-event/get-event.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// x-pd-ai: optimized
import arlo from "../../arlo.app.mjs";

export default {
key: "arlo-get-event",
name: "Get Event",
description: "Retrieve the full detail for a single Arlo Event by its ID. Run **List Events** first to find a valid `eventId`. Example: call with `eventId: \"4\"` to get that event's full `Name`, `Code`, `StartDateTime`, `FinishDateTime`, `Status`, and venue/presenter links. [See the documentation](https://developer.arlo.co/doc/api/2012-02-01/auth/resources/events#instance-httpget).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
4 changes: 2 additions & 2 deletions components/arlo/actions/get-registration/get-registration.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// x-pd-ai: optimized
import arlo from "../../arlo.app.mjs";

export default {
key: "arlo-get-registration",
name: "Get Registration",
description: "Retrieve full registration plus attendee/contact detail for a single registration by its ID. Run **List Registrations** first to find a valid `registrationId`. Example: call with `registrationId: \"3\"` to get that registration's `Status`, `CreatedDateTime`, and attendee `Contact` (name, email). [See the documentation](https://developer.arlo.co/doc/api/2012-02-01/auth/resources/registrations#instance-httpget).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// x-pd-ai: optimized
import arlo from "../../arlo.app.mjs";
import {
DEFAULT_LIMIT,
Expand All @@ -9,8 +8,9 @@ export default {
key: "arlo-list-event-templates",
name: "List Event Templates",
description: "List Arlo EventTemplate (course) records. Use this first to discover the template `Code` and `TemplateID` values needed by **Create Event** and **List Events**. Optionally filter by status. Results are paged (see `limit`/`skip`); if the page comes back full, call again with a higher `skip` for more. Use `fields` to shrink the response for large template lists. Example: call with `status: \"Active\"` to get up to 100 active templates with `TemplateID`, `Code`, `Name`. [See the documentation](https://developer.arlo.co/doc/api/2012-02-01/auth/resources/eventtemplates#collection-httpget).",
version: "0.0.1",
version: "0.0.2",
type: "action",
ai: "optimized",
annotations: {
readOnlyHint: true,
destructiveHint: false,
Expand Down
Loading
Loading