1from apify_client import ApifyClient
2
3
4
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7
8run_input = {
9 "blueprintJson": {
10 "name": "Example - order intake",
11 "flow": [
12 {
13 "id": 1,
14 "module": "gateway:CustomWebHook",
15 "version": 1,
16 "parameters": {
17 "hook": 118273,
18 "maxResults": 1,
19 },
20 "mapper": {},
21 "metadata": {
22 "designer": {
23 "x": 0,
24 "y": 0,
25 "name": "New order received",
26 },
27 "parameters": [
28 {
29 "name": "hook",
30 "type": "hook:gateway-webhook",
31 "label": "Webhook",
32 "required": True,
33 },
34 {
35 "name": "maxResults",
36 "type": "number",
37 "label": "Maximum number of results",
38 },
39 ],
40 },
41 },
42 {
43 "id": 2,
44 "module": "http:ActionSendData",
45 "version": 3,
46 "parameters": {
47 "handleErrors": False,
48 "useNewZLibDeCompress": True,
49 },
50 "mapper": {
51 "url": "https://api.crm.internal/v1/orders",
52 "serializeUrl": False,
53 "method": "post",
54 "headers": [
55 {
56 "name": "Content-Type",
57 "value": "application/json",
58 },
59 {
60 "name": "Authorization",
61 "value": "Bearer sk-proj-Qm7xT2vLp9RaW4cKz8Yh3NdE6sBu1JfG0oXiVwHtMy5ZcA",
62 },
63 ],
64 "qs": [],
65 "bodyType": "raw",
66 "parseResponse": True,
67 "authUser": "",
68 "authPass": "",
69 "timeout": "",
70 "shareCookies": False,
71 "ca": "",
72 "rejectUnauthorized": False,
73 "followRedirect": True,
74 "useQuerystring": False,
75 "gzip": True,
76 "useMtls": False,
77 "contentType": "application/json",
78 "data": "{{1.body}}",
79 "followAllRedirects": False,
80 },
81 "metadata": {
82 "designer": {
83 "x": 300,
84 "y": 0,
85 },
86 "parameters": [
87 {
88 "name": "handleErrors",
89 "type": "boolean",
90 "label": "Evaluate all states as errors (except for 2xx and 3xx )",
91 "required": True,
92 },
93 {
94 "name": "useNewZLibDeCompress",
95 "type": "hidden",
96 },
97 ],
98 "expect": [
99 {
100 "name": "url",
101 "type": "url",
102 "label": "URL",
103 "required": True,
104 },
105 {
106 "name": "method",
107 "type": "select",
108 "label": "Method",
109 },
110 {
111 "name": "headers",
112 "type": "array",
113 "label": "Headers",
114 },
115 {
116 "name": "qs",
117 "type": "array",
118 "label": "Query String",
119 },
120 {
121 "name": "rejectUnauthorized",
122 "type": "boolean",
123 "label": "Reject connections that are using unverified (self-signed) certificates",
124 "required": True,
125 },
126 {
127 "name": "timeout",
128 "type": "uinteger",
129 "label": "Timeout",
130 },
131 {
132 "name": "data",
133 "type": "buffer",
134 "label": "Request content",
135 },
136 ],
137 },
138 },
139 {
140 "id": 3,
141 "module": "builtin:BasicFeeder",
142 "version": 1,
143 "parameters": {},
144 "mapper": { "array": "{{2.data.items}}" },
145 "metadata": {
146 "designer": {
147 "x": 600,
148 "y": 0,
149 },
150 "expect": [{
151 "name": "array",
152 "type": "array",
153 "label": "Array",
154 "mode": "edit",
155 }],
156 },
157 },
158 {
159 "id": 4,
160 "module": "google-sheets:addRow",
161 "version": 2,
162 "parameters": { "__IMTCONN__": 1001 },
163 "mapper": {
164 "mode": "select",
165 "insertDataOption": "INSERT_ROWS",
166 "valueInputOption": "USER_ENTERED",
167 "spreadsheetId": "",
168 "sheetId": "Orders",
169 "includesHeaders": True,
170 "values": {
171 "0": "{{3.sku}}",
172 "1": "{{3.quantity}}",
173 "2": "{{1.customer.email}}",
174 },
175 },
176 "onerror": [{
177 "id": 9,
178 "module": "builtin:Break",
179 "version": 1,
180 "parameters": {
181 "retry": True,
182 "count": 3,
183 "interval": 15,
184 },
185 "mapper": {},
186 "metadata": { "designer": {
187 "x": 900,
188 "y": 300,
189 } },
190 }],
191 "metadata": {
192 "designer": {
193 "x": 900,
194 "y": 0,
195 },
196 "parameters": [{
197 "name": "__IMTCONN__",
198 "type": "account:google",
199 "label": "Connection",
200 "required": True,
201 }],
202 "expect": [
203 {
204 "name": "spreadsheetId",
205 "type": "select",
206 "label": "Spreadsheet ID",
207 },
208 {
209 "name": "sheetId",
210 "type": "select",
211 "label": "Sheet Name",
212 },
213 {
214 "name": "values",
215 "type": "collection",
216 "label": "Values",
217 },
218 ],
219 },
220 },
221 {
222 "id": 5,
223 "module": "slack:CreateMessage",
224 "version": 4,
225 "parameters": { "__IMTCONN__": 1002 },
226 "mapper": {
227 "channel": "orders",
228 "text": "New order from {{42.customer_name}}: {{3.sku}} x {{3.quantity}}",
229 "parse": False,
230 },
231 "metadata": {
232 "designer": {
233 "x": 1200,
234 "y": 0,
235 },
236 "parameters": [{
237 "name": "__IMTCONN__",
238 "type": "account:slack",
239 "label": "Connection",
240 "required": True,
241 }],
242 "expect": [
243 {
244 "name": "channel",
245 "type": "text",
246 "label": "Channel",
247 },
248 {
249 "name": "text",
250 "type": "text",
251 "label": "Text",
252 },
253 ],
254 },
255 },
256 {
257 "id": 6,
258 "module": "builtin:BasicRouter",
259 "version": 1,
260 "parameters": {},
261 "mapper": None,
262 "metadata": { "designer": {
263 "x": 1500,
264 "y": 0,
265 } },
266 "routes": [{ "flow": [{
267 "id": 7,
268 "module": "google-email:ActionSendEmail",
269 "version": 7,
270 "parameters": {
271 "account": 1003,
272 "saveAsDraft": False,
273 },
274 "filter": {
275 "name": "Has email",
276 "conditions": [[{
277 "a": "{{1.customer.email}}",
278 "o": "exist",
279 }]],
280 },
281 "mapper": {
282 "to": ["{{1.customer.email}}"],
283 "subject": "Order confirmed",
284 "contentType": "text",
285 "text": "Thanks for your order of {{3.sku}}.",
286 },
287 "metadata": {
288 "designer": {
289 "x": 1800,
290 "y": 0,
291 },
292 "parameters": [
293 {
294 "name": "account",
295 "type": "account:google-restricted",
296 "label": "Connection",
297 "required": True,
298 },
299 {
300 "name": "saveAsDraft",
301 "type": "boolean",
302 "label": "Save as draft",
303 },
304 ],
305 "expect": [
306 {
307 "name": "to",
308 "type": "array",
309 "label": "To",
310 },
311 {
312 "name": "subject",
313 "type": "text",
314 "label": "Subject",
315 },
316 ],
317 },
318 }] }],
319 },
320 ],
321 "metadata": {
322 "instant": True,
323 "version": 1,
324 "scenario": {
325 "roundtrips": 1,
326 "maxErrors": 3,
327 "autoCommit": True,
328 "autoCommitTriggerLast": True,
329 "sequential": False,
330 "slots": None,
331 "confidential": False,
332 "dataloss": False,
333 "dlq": False,
334 "freshVariables": False,
335 },
336 "designer": { "orphans": [] },
337 "zone": "eu1.make.com",
338 },
339 },
340 "blueprintUrls": [],
341 "teamIds": [],
342 "scenarioIds": [],
343 "ignoreRules": [],
344}
345
346
347run = client.actor("mediocre_interest/make-scenario-auditor").call(run_input=run_input)
348
349
350print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
351for item in client.dataset(run.default_dataset_id).iterate_items():
352 print(item)
353
354