with Trustpilot (Customer) and Google Ads?
Emit new event when a new campaign is created. See the documentation
Emit new event when a new conversation is started on Trustpilot. This source periodically polls the Trustpilot API to detect new customer-business conversations. Each event contains conversation details including participants, subject, business unit, and creation timestamp. Useful for tracking customer inquiries, support requests, and maintaining real-time communication with customers.
Emit new event for new leads on a Lead Form. See the documentation
Emit new event when a business replies to a product review on Trustpilot. This source periodically polls the Trustpilot API to detect new replies to product reviews. Each event includes the reply text, creation timestamp, and associated review details (product name, star rating, consumer info). Ideal for monitoring business responses to customer feedback, tracking customer service performance, and ensuring timely engagement with product reviews.
Emit new event when a customer posts a new product review on Trustpilot. This source periodically polls the Trustpilot API to detect new product reviews. Each event contains the complete review data including star rating, review text, product information, consumer details, and timestamps. Perfect for monitoring product feedback, analyzing customer satisfaction trends, and triggering automated responses or alerts for specific products.
Retrieves detailed information about a specific product review on Trustpilot. Use this action to get comprehensive data about a single product review, including customer feedback, star rating, review text, and metadata. Perfect for analyzing individual customer experiences, responding to specific feedback, or integrating review data into your customer service workflows. See the documentation
Adds a contact to a specific customer list in Google Ads. Lists typically update in 6 to 12 hours after operation. See the documentation
Retrieves a list of product reviews for a specific business unit on Trustpilot. This action enables you to fetch multiple product reviews with powerful filtering options including star ratings, language, tags, and sorting preferences. Ideal for monitoring product feedback trends, generating reports, analyzing customer sentiment across your product catalog, or building review dashboards. Supports pagination for handling large review volumes. See the documentation
Create a new customer list in Google Ads. See the documentation
Retrieves detailed information about a specific service review for your business on Trustpilot. Use this action to access comprehensive data about an individual service review, including the customer's rating, review content, date, and any responses. Essential for customer service teams to analyze specific feedback, track review history, or integrate individual review data into CRM systems and support tickets. See the documentation
The Trustpilot (Customer) API lets you tap into the rich pool of customer review data on Trustpilot. You can use it to automate the process of collecting and managing reviews, responding to feedback, and analyzing customer sentiment. With Pipedream's integration, you can trigger workflows based on new reviews, aggregate review data for analysis, and sync Trustpilot data with other services like CRMs, support tickets, and marketing tools.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
trustpilot: {
type: "app",
app: "trustpilot",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://invitations-api.trustpilot.com/v1/private/business-units/${this.trustpilot.$auth.business_unit_id}/templates`,
headers: {
Authorization: `Bearer ${this.trustpilot.$auth.oauth_access_token}`,
},
})
},
})
The Google Ads API lets you programmatically manage your Google Ads data and
campaigns. You can use the API to automate common tasks, such as:
You can also use the API to get information about your campaigns, such as:
The Google Ads API is a powerful tool that lets you manage your Google Ads data
and campaigns programmatically. With the API, you can automate common tasks,
such as creating and managing campaigns, adding and removing keywords, and
adjusting bids. You can also use the API to get information about your
campaigns, such as campaign stats, keyword stats, and ad performance.
The Pipedream components interact with Google Ads API through an interal proxy service, which protects Pipedream's developer token.
The component accepts a standard Google Ads API request object with the following structure:
const googleAdsReq = {
method: "get|post|put|delete", // HTTP method
url: "/v18/...", // Google Ads API endpoint path
headers: {
Authorization: `Bearer ${this.googleAds.$auth.oauth_access_token}`,
},
data: {}, // Optional request body for POST/PUT requests
};
To make different API calls while using the proxy:
url
path to match your desired Google Ads API endpointmethod
to match the required HTTP methoddata
fieldExample for a custom query:
const googleAdsReq = {
method: "post",
url: "/v16/customers/1234567890/googleAds:search",
headers: {
Authorization: `Bearer ${this.googleAds.$auth.oauth_access_token}`,
},
data: {
query: "SELECT campaign.id, campaign.name FROM campaign",
},
};
The proxy endpoint will remain the same: https://googleads.m.pipedream.net
To interface with Google Ads via the Connect API Proxy, you need to nest the request like this:
Important notes:
https://googleads.m.pipedream.net
url
param in the body
method
to the Connect Proxy should always be a POST
, since it's actually targeting the Google Ads proxy (you can define the method for the Google Ads request in options.body.method
)const pd = createBackendClient({
apiHost: process.env.API_HOST,
credentials: {
clientId: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
},
environment: process.env.ENVIRONMENT,
projectId: process.env.PROJECT_ID,
});
const pdGoogleAdsUrl = "https://googleads.m.pipedream.net";
const resp = await pd.makeProxyRequest(
{
searchParams: {
external_user_id: process.env.EXTERNAL_USER_ID,
account_id: process.env.ACCOUNT_ID,
},
},
{
url: pdGoogleAdsUrl,
options: {
method: "POST",
body: {
url: "/v19/customers:listAccessibleCustomers",
method: "GET",
// data: {} // If you need to send a body with a POST request, define it here
},
},
}
);
https://googleads.m.pipedream.net
curl -X POST "https://api.pipedream.com/v1/connect/{your_project_id}/proxy/{url_safe_base64_encoded_url}?external_user_id={external_user_id}&account_id={apn_xxxxxxx}" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: {development | production}" \
-d '{
"url": "/v19/customers:listAccessibleCustomers",
"method": "GET",
# "data": {} # If you need to send a body with a POST request, define it here
}'
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
googleAds: { type: "app", app: "google_ads" }
},
async run({ $ }) {
const googleAdsReq = {
method: "get",
url: "/v19/customers:listAccessibleCustomers",
headers: {
"Authorization": `Bearer ${this.googleAds.$auth.oauth_access_token}`,
// "login-customer-id": this.googleAds.$auth.customer_id // optional for this endpoint
}
}
// proxy google ads request
return await axios($, {
url: "https://googleads.m.pipedream.net",
data: googleAdsReq,
})
}
})