What do you want to automate

with Wave and Odoo?

Prompt, edit and deploy AI agents that connect to Wave, Odoo and 2,500+ other apps in seconds.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
New Customer from the Wave API

Emit new event when an customer is created.

 
Try it
New Invoice from the Wave API

Emit new event when an invoice is created.

 
Try it
Create Customer with the Wave API

Create a customer under a business. See the documentation

 
Try it
Create Invoice with the Wave API

Create an invoice for a customer with one product. See the documentation

 
Try it
Integrate the Wave API with the Odoo API
Setup the Wave API trigger to run a workflow which integrates with the Odoo API. Pipedream's integration platform allows you to integrate Wave and Odoo remarkably fast. Free for developers.

Overview of Wave

Wave is a financial software that simplifies accounting, invoicing, and receipt scanning for small businesses. With the Wave API, you can automate various financial tasks directly within Pipedream. You can create invoices, manage customers, process payments, and extract financial reports. Integrating Wave with Pipedream allows you to connect your accounting workflow with other apps, triggering actions based on financial events or scheduling regular financial operations.

Connect Wave

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    wave: {
      type: "app",
      app: "wave",
    }
  },
  async run({steps, $}) {
    const data = {
      "query": `{
      user {
        id
        defaultEmail
      }  
    }`,
    }
    return await axios($, {
      method: "post",
      url: `https://gql.waveapps.com/graphql/public`,
      headers: {
        Authorization: `Bearer ${this.wave.$auth.oauth_access_token}`,
        "Content-Type": `application/json`,
      },
      data,
    })
  },
})

Connect Odoo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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();
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo