What do you want to automate

with Google Identity and Swiftype?

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

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
  },
})

Overview of Swiftype

The Swiftype API offers a potent toolset for adding search functionality to your websites and applications, allowing you to index and search your content. With Pipedream, you can build serverless workflows integrating Swiftype API to automate indexing, manage search engines, and react to search analytics. This can be a game-changer for content-driven sites, providing insights into user search behavior and automating updates to the search index.

Connect Swiftype

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: {
    swiftype: {
      type: "app",
      app: "swiftype",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.swiftype.com/api/v1/engines.json`,
      params: {
        auth_token: `${this.swiftype.$auth.api_key}`,
      },
    })
  },
})

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