with Odoo and Gorgias?
Emit new event when a ticket message is created. See the documentation
Emit new event when a ticket is updated. See the documentation
import xmlrpc from 'xmlrpc';
export default defineComponent({
props: {
odoo: {
type: "app",
app: "odoo",
}
},
async run({ steps, $ }) {
const url = this.odoo.$auth.server_url;
const db = this.odoo.$auth.db;
const username = this.odoo.$auth.username;
const password = this.odoo.$auth.password;
// Create clients for common and object endpoints
const common = xmlrpc.createSecureClient(`${url}/xmlrpc/2/common`);
const models = xmlrpc.createSecureClient(`${url}/xmlrpc/2/object`);
// Using async/await with promises
async function getFields() {
try {
// Authenticate and get uid
const uid = await new Promise((resolve, reject) => {
common.methodCall('authenticate', [db, username, password, {}], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
// Get fields
const results = await new Promise((resolve, reject) => {
models.methodCall('execute_kw', [
db,
uid,
password,
'res.partner',
'fields_get',
[],
{ 'attributes': ['string', 'help', 'type'] }
], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
return results;
} catch (error) {
throw new Error(error);
}
}
return await getFields();
},
})
Gorgias is a helpdesk platform that centralizes customer interactions and automates common support tasks. Utilizing the Gorgias API on Pipedream allows you to streamline customer service processes by creating automated workflows. With these integrations, you can sync customer data, manage tickets, automate responses, and track support metrics, effectively turning Gorgias into an engine for customer support automation.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
gorgias_oauth: {
type: "app",
app: "gorgias_oauth",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.gorgias_oauth.$auth.domain}.gorgias.com/api/users/0`,
headers: {
Authorization: `Bearer ${this.gorgias_oauth.$auth.oauth_access_token}`,
"Accept": `application/json`,
},
})
},
})