What do you want to automate

with Route4Me and Google Identity?

Prompt, edit and deploy AI agents that connect to Route4Me, Google Identity 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
Integrate the Route4Me API with the Google Identity API
Setup the Route4Me API trigger to run a workflow which integrates with the Google Identity API. Pipedream's integration platform allows you to integrate Route4Me and Google Identity remarkably fast. Free for developers.

Overview of Route4Me

The Route4Me API provides access to a suite of tools designed for route optimization and fleet management. With its functions, you can plan routes, track vehicles, and manage addresses and members. Integrating Route4Me with Pipedream allows you to automate workflows involving logistics, dispatching, and real-time tracking. By leveraging Pipedream's capabilities, you can create event-driven automation, connect with numerous services, and handle complex logic without worrying about infrastructure.

Connect Route4Me

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    route4me: {
      type: "app",
      app: "route4me",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.route4me.com/api.v4/address_book.php`,
      params: {
        api_key: `${this.route4me.$auth.api_key}`,
        addr_id: ``,
      },
    })
  },
})

Connect Google Identity

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import axios from "axios";
import * as jsrsasign from "jsrsasign";

export default defineComponent({
  props: {
    google_identity: {
      type: "app",
      app: "google_identity",
    }
  },
  async run({ steps, $ }) {    
    const serviceAccountKey = JSON.parse(this.google_identity.$auth.service_account_key);
    const GOOGLE_OAUTH = 'https://www.googleapis.com/oauth2/v4/token';
    // add/remove your own scopes as needed
    const SCOPES = [
      'https://www.googleapis.com/auth/userinfo.email',
      'https://www.googleapis.com/auth/userinfo.profile',
      'https://www.googleapis.com/auth/cloud-platform',
      'https://www.googleapis.com/auth/cloud-identity',
    ];

    const getJwt = async function ({ client_email, private_key }, iat) {

      const header = {
        typ: 'JWT',
        alg: 'RS256',
      };

      const exp = iat + 3600;
      const payload = {
        aud: GOOGLE_OAUTH,
        iss: client_email,
        scope: SCOPES.join(' '),
        iat,
        exp,
      };

      const jwt = jsrsasign.KJUR.jws.JWS.sign(null, header, payload, private_key);
      return { jwt, exp };
    };

    const getToken = async function (serviceAccountKey) {
      const now = Math.floor(Date.now() / 1000);

      const jwtInfo = await getJwt(serviceAccountKey, now);

      const params = new URLSearchParams();
      params.append('grant_type', 'urn:ietf:params:oauth:grant-type:jwt-bearer');
      params.append('assertion', jwtInfo.jwt);

      const response = await axios.post(GOOGLE_OAUTH, params, {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded'
        }
      });

      const accessToken = response.data.access_token;
      return accessToken;
    };

    const generateOAuthToken = async function () {    
      return await getToken(serviceAccountKey);
    };

    // Call the function to generate the token
    const accessToken = await generateOAuthToken();

    // Call the Google Identity API to search for groups
    const response = await axios({
      method: "GET",
      url: "https://cloudidentity.googleapis.com/v1/groups:search",
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "Content-Type": "application/json"
      },
      params: {
        query: "parent == 'customers/C046psxkn'"
      }
    })

    return response.data
  },
})

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