with Odoo and Agile CRM?
Used to change the score of a contact. See the documentation
Adds a tag or tags to an existing contact. 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();
},
})
The Agile CRM API interacts with Agile's sales, marketing, and service software, offering a suite of features including contact management, deals, and campaign automation. On Pipedream, you can automate interactions with Agile CRM, such as syncing contacts, updating deals, or triggering campaigns. By leveraging Pipedream's serverless platform, you can connect Agile CRM to hundreds of other apps, creating custom, automated workflows that operate in real-time, and with no server maintenance required.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
agile_crm: {
type: "app",
app: "agile_crm",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.agile_crm.$auth.domain}.agilecrm.com/dev/api/contacts`,
auth: {
username: `${this.agile_crm.$auth.username}`,
password: `${this.agile_crm.$auth.api_key}`,
},
})
},
})