What do you want to automate

with Adobe Document Generation API and Google Drive?

Prompt, edit and deploy AI agents that connect to Adobe Document Generation API, Google Drive 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
Changes to Specific Files from the Google Drive API

Watches for changes to specific files, emitting an event when a change is made to one of those files. To watch for changes to shared drive files, use the Changes to Specific Files (Shared Drive) source instead.

 
Try it
Changes to Specific Files (Shared Drive) from the Google Drive API

Watches for changes to specific files in a shared drive, emitting an event when a change is made to one of those files

 
Try it
New Access Proposal from the Google Drive API

Emit new event when a new access proposal is requested in Google Drive

 
Try it
New Files (Instant) from the Google Drive API

Emit new event when a new file is added in your linked Google Drive

 
Try it
New Files (Shared Drive) from the Google Drive API

Emit new event when a new file is added in your shared Google Drive

 
Try it
Copy File with the Google Drive API

Create a copy of the specified file. See the documentation for more information

 
Try it
Create Folder with the Google Drive API

Create a new empty folder. See the documentation for more information

 
Try it
Create New File From Template with the Google Drive API

Create a new Google Docs file from a template. Optionally include placeholders in the template document that will get replaced from this action. See documentation

 
Try it
Create New File From Text with the Google Drive API

Create a new file from plain text. See the documentation for more information

 
Try it
Create Shared Drive with the Google Drive API

Create a new shared drive. See the documentation for more information

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

Connect Adobe Document Generation API

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import fs from "fs";
import axios from "axios";
import {
	ServicePrincipalCredentials,
	PDFServices,
	MimeType,
	DocumentMergeParams,
	OutputFormat,
	DocumentMergeJob,
	DocumentMergeResult
} from "@adobe/pdfservices-node-sdk";

export default defineComponent({
  props: {
    adobe_document_generation_api: {
      type: "app",
      app: "adobe_document_generation_api",
    }
  },
  async run({steps, $}) {
		// Configuration constants
		const PDF_SERVICES_CLIENT_ID = this.adobe_document_generation_api.$auth.client_id;
		const PDF_SERVICES_CLIENT_SECRET = this.adobe_document_generation_api.$auth.client_secret;

			try {
				// Initial setup, create credentials instance
				const credentials = new ServicePrincipalCredentials({
					clientId: PDF_SERVICES_CLIENT_ID,
					clientSecret: PDF_SERVICES_CLIENT_SECRET
				});

				// Creates a PDF Services instance
				const pdfServices = new PDFServices({ credentials });

				// Creates an asset(s) from source file(s) and upload
        const response = await axios.get("https://developer.adobe.com/document-services/docs/receiptTemplate.docx", { responseType: 'stream' });
        const readStream = response.data;
				const inputAsset = await pdfServices.upload({
					readStream,
					mimeType: MimeType.DOCX
				});

				// Setup input data for the document merge process
      const jsonDataForMerge = {
        "author": "Gary Lee",
        "Company": {
          "Name": "Projected",
          "Address": "19718 Mandrake Way",
          "PhoneNumber": "+1-100000098"
        },
        "Invoice": {
          "Date": "January 15, 2021",
          "Number": 123,
          "Items": [
            {
              "item": "Gloves",
              "description": "Microwave gloves",
              "UnitPrice": 5,
              "Quantity": 2,
              "Total": 10
            },
            {
              "item": "Bowls",
              "description": "Microwave bowls",
              "UnitPrice": 10,
              "Quantity": 2,
              "Total": 20
            }
          ]
        },
        "Customer": {
          "Name": "Collins Candy",
          "Address": "315 Dunning Way",
          "PhoneNumber": "+1-200000046",
          "Email": "cc@abcdef.co.dw"
        },
        "Tax": 5,
        "Shipping": 5,
        "clause": {
          "overseas": "The shipment might take 5-10 more than informed."
        },
        "paymentMethod": "Cash"
      };

				// Create parameters for the job
				const params = new DocumentMergeParams({
					jsonDataForMerge,
					outputFormat: OutputFormat.PDF
				});

				// Creates a new job instance
				const job = new DocumentMergeJob({ inputAsset, params });

				// Submit the job and get the job result
				const pollingURL = await pdfServices.submit({ job });
				const pdfServicesResponse = await pdfServices.getJobResult({
					pollingURL,
					resultType: DocumentMergeResult
				});

				// Get content from the resulting asset(s)
				const resultAsset = pdfServicesResponse.result.asset;
				const streamAsset = await pdfServices.getContent({ asset: resultAsset });

				// Creates a write stream and copy stream asset's content to it
				const outputFilePath = "/tmp/generatePDFOutput.pdf";
				console.log(`Saving asset at ${outputFilePath}`);

				return new Promise((resolve, reject) => {
					const writeStream = fs.createWriteStream(outputFilePath);
					streamAsset.readStream.pipe(writeStream);
					writeStream.on('finish', () => resolve(outputFilePath));
					writeStream.on('error', reject);
				});
			} catch(err) {
				console.error('Error generating PDF:', err);
				throw err;
			}
  },
})

Overview of Google Drive

The Google Drive API on Pipedream allows you to automate various file management tasks, such as creating, reading, updating, and deleting files within your Google Drive. You can also share files, manage permissions, and monitor changes to files and folders. This opens up possibilities for creating workflows that seamlessly integrate with other apps and services, streamlining document handling, backup processes, and collaborative workflows.

Connect Google Drive

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: {
    google_drive: {
      type: "app",
      app: "google_drive",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://www.googleapis.com/drive/v3/about?fields=user`,
      headers: {
        Authorization: `Bearer ${this.google_drive.$auth.oauth_access_token}`,
      },
    })
  },
})

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