with Crunchbase and Odoo?
Retrieve details about an organization. See the documentation
Search for organizations based on specified criteria. See the documentation
The Crunchbase API grants access to a trove of information on companies, investors, and the key players steering them. With Pipedream, you can harness this data to enrich CRM leads, track investments, or automate market research. By marrying the Crunchbase API with Pipedream's serverless platform, you unlock a realm of possibilities, creating workflows that respond dynamically to events like funding rounds or acquisitions, or that periodically aggregate data for analysis.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
crunchbase: {
type: "app",
app: "crunchbase",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.crunchbase.com/v3.1/organizations`,
params: {
user_key: `${this.crunchbase.$auth.user_key}`,
},
})
},
})
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();
},
})