with Bókun and Zendesk?
Emit new event when a ticket is added to the specified view
Emit new event when a ticket comment has been added
Emit new event when a ticket has changed to closed status
import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
props: {
bokun: {
type: "app",
app: "bokun",
}
},
async run({ steps, $ }) {
const getBokunHeaders = function (accessKey, secretKey, path = "", method = "GET") {
// Format current date in UTC
const now = new Date();
const date = now.toISOString()
.replace('T', ' ')
.replace(/\.\d+Z$/, '');
// Normalize method
const httpMethod = method.toUpperCase();
// Concatenate string for signature
const stringToSign = date + accessKey + httpMethod + path;
// Create HMAC-SHA1 signature
const hmac = crypto.createHmac('sha1', secretKey);
hmac.update(stringToSign);
const signature = hmac.digest('base64');
// Return headers and debug info
return {
headers: {
"X-Bokun-Date": date,
"X-Bokun-AccessKey": accessKey,
"X-Bokun-Signature": signature,
"Content-Type": "application/json"
},
debug: {
date,
stringToSign,
signature
}
};
};
const path= "/restapi/v2.0/marketplace/vendor/self/";
const headers = getBokunHeaders(
this.bokun.$auth.access_key,
this.bokun.$auth.secret_key,
path).headers;
// Make API request
const response = await axios($, {
method: "GET", // must match the method you specified when generating headers
url: `${this.bokun.$auth.api_url}${path}`,
headers,
});
return response;
},
})
The Zendesk API enables seamless integration of Zendesk's customer service platform with your existing business processes and third-party applications. By leveraging this API with Pipedream, you can automate ticket tracking, sync customer data, escalate issues, and streamline communication across multiple channels. This can significantly increase efficiency, accelerate response times, and enhance the overall customer experience. Automations can range from simple notifications to complex workflows involving data transformation and multi-step actions across various services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zendesk: {
type: "app",
app: "zendesk",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.zendesk.$auth.subdomain}.zendesk.com/api/v2/users/me/`,
headers: {
Authorization: `Bearer ${this.zendesk.$auth.oauth_access_token}`,
},
})
},
})