What do you want to automate

with Keycloak and Odoo?

Prompt, edit and deploy AI agents that connect to Keycloak, 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
Create Record with Odoo API on New Event Created from Keycloak API
Keycloak + Odoo
 
Try it
Search and Read Records with Odoo API on New Event Created from Keycloak API
Keycloak + Odoo
 
Try it
Update Record with Odoo API on New Event Created from Keycloak API
Keycloak + Odoo
 
Try it
New Event Created from the Keycloak API

Emit new event when a new event is created. See the documentation

 
Try it
Create User with the Keycloak API

Create a new user in Keycloak. The username must be unique. See the documentation

 
Try it
Create Record with the Odoo API

Create a new record in Odoo. See the documentation

 
Try it
Delete User with the Keycloak API

Delete a user from Keycloak. See the documentation

 
Try it
Search and Read Records with the Odoo API

Search and read records from Odoo. See the documentation

 
Try it
Get User with the Keycloak API

Retrieve the representation of the user. See the documentation

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

Connect Keycloak

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    keycloak: {
      type: "app",
      app: "keycloak",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `${this.keycloak.$auth.url}/admin/realms`,
      headers: {
        Authorization: `Bearer ${this.keycloak.$auth.oauth_access_token}`,
      },
    })
  },
})

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