@activepieces/piece-twilio 0.3.10 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,18 +1,17 @@
1
1
  {
2
2
  "name": "@activepieces/piece-twilio",
3
- "version": "0.3.10",
3
+ "version": "0.3.11",
4
4
  "dependencies": {
5
5
  "@sinclair/typebox": "0.34.11",
6
6
  "axios": "1.8.3",
7
7
  "axios-retry": "4.4.1",
8
8
  "deepmerge-ts": "7.1.0",
9
- "fast-glob": "3.3.3",
10
9
  "mime-types": "2.1.35",
11
10
  "nanoid": "3.3.8",
12
11
  "semver": "7.6.0",
13
12
  "zod": "3.25.76",
14
13
  "@activepieces/pieces-common": "0.7.0",
15
- "@activepieces/pieces-framework": "0.18.4",
14
+ "@activepieces/pieces-framework": "0.19.0",
16
15
  "@activepieces/shared": "0.20.0",
17
16
  "tslib": "2.8.1"
18
17
  },
package/src/index.js CHANGED
@@ -7,6 +7,14 @@ const pieces_framework_1 = require("@activepieces/pieces-framework");
7
7
  const shared_1 = require("@activepieces/shared");
8
8
  const send_sms_1 = require("./lib/action/send-sms");
9
9
  const new_incoming_sms_1 = require("./lib/trigger/new-incoming-sms");
10
+ const phone_number_lookup_1 = require("./lib/action/phone-number-lookup");
11
+ const make_call_1 = require("./lib/action/make-call");
12
+ const get_message_1 = require("./lib/action/get-message");
13
+ const download_recording_media_1 = require("./lib/action/download-recording-media");
14
+ const new_phone_number_1 = require("./lib/trigger/new-phone-number");
15
+ const new_recording_1 = require("./lib/trigger/new-recording");
16
+ const new_transcription_1 = require("./lib/trigger/new-transcription");
17
+ const new_call_1 = require("./lib/trigger/new-call");
10
18
  exports.twilioAuth = pieces_framework_1.PieceAuth.BasicAuth({
11
19
  description: 'The authentication to use to connect to Twilio',
12
20
  required: true,
@@ -28,6 +36,10 @@ exports.twilio = (0, pieces_framework_1.createPiece)({
28
36
  categories: [shared_1.PieceCategory.COMMUNICATION],
29
37
  actions: [
30
38
  send_sms_1.twilioSendSms,
39
+ phone_number_lookup_1.twilioPhoneNumberLookup,
40
+ make_call_1.twilioMakeCall,
41
+ get_message_1.twilioGetMessage,
42
+ download_recording_media_1.twilioDownloadRecordingMedia,
31
43
  (0, pieces_common_1.createCustomApiCallAction)({
32
44
  baseUrl: () => 'https://api.twilio.com/2010-04-01',
33
45
  auth: exports.twilioAuth,
@@ -39,6 +51,11 @@ exports.twilio = (0, pieces_framework_1.createPiece)({
39
51
  }),
40
52
  ],
41
53
  authors: ["kishanprmr", "MoShizzle", "khaledmashaly", "abuaboud"],
42
- triggers: [new_incoming_sms_1.twilioNewIncomingSms],
54
+ triggers: [new_incoming_sms_1.twilioNewIncomingSms,
55
+ new_phone_number_1.twilioNewPhoneNumber,
56
+ new_recording_1.twilioNewRecording,
57
+ new_transcription_1.twilioNewTranscription,
58
+ new_call_1.twilioNewCall
59
+ ],
43
60
  });
44
61
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/twilio/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAAwE;AACxE,iDAAqD;AACrD,oDAAsD;AACtD,qEAAsE;AAEzD,QAAA,UAAU,GAAG,4BAAS,CAAC,SAAS,CAAC;IAC5C,WAAW,EAAE,gDAAgD;IAE7D,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,6CAA6C;KAC3D;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,4CAA4C;KAC1D;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,IAAA,8BAAW,EAAC;IAChC,WAAW,EAAE,QAAQ;IACrB,WAAW,EACT,gFAAgF;IAElF,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,gDAAgD;IACzD,IAAI,EAAE,kBAAU;IAChB,UAAU,EAAE,CAAC,sBAAa,CAAC,aAAa,CAAC;IACzC,OAAO,EAAE;QACP,wBAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,mCAAmC;YAClD,IAAI,EAAE,kBAAU;YAChB,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC5B,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CACjC,GAAI,IAA6B,CAAC,QAAQ,IACvC,IAA6B,CAAC,QACjC,EAAE,CACH,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;iBACvB,CAAC,CAAA;cAAA;SACH,CAAC;KACH;IACD,OAAO,EAAE,CAAC,YAAY,EAAC,WAAW,EAAC,eAAe,EAAC,UAAU,CAAC;IAC9D,QAAQ,EAAE,CAAC,uCAAoB,CAAC;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/twilio/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAAwE;AACxE,iDAAqD;AACrD,oDAAsD;AACtD,qEAAsE;AACtE,0EAA2E;AAC3E,sDAAwD;AACxD,0DAA4D;AAC5D,oFAAqF;AACrF,qEAAsE;AACtE,+DAAiE;AACjE,uEAAyE;AACzE,qDAAuD;AAE1C,QAAA,UAAU,GAAG,4BAAS,CAAC,SAAS,CAAC;IAC5C,WAAW,EAAE,gDAAgD;IAE7D,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,6CAA6C;KAC3D;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,4CAA4C;KAC1D;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,IAAA,8BAAW,EAAC;IAChC,WAAW,EAAE,QAAQ;IACrB,WAAW,EACT,gFAAgF;IAElF,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,gDAAgD;IACzD,IAAI,EAAE,kBAAU;IAChB,UAAU,EAAE,CAAC,sBAAa,CAAC,aAAa,CAAC;IACzC,OAAO,EAAE;QACP,wBAAa;QACb,6CAAuB;QACvB,0BAAc;QACd,8BAAgB;QAChB,uDAA4B;QAC5B,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,mCAAmC;YAClD,IAAI,EAAE,kBAAU;YAChB,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC5B,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CACjC,GAAI,IAA6B,CAAC,QAAQ,IACvC,IAA6B,CAAC,QACjC,EAAE,CACH,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;iBACvB,CAAC,CAAA;cAAA;SACH,CAAC;KACH;IACD,OAAO,EAAE,CAAC,YAAY,EAAC,WAAW,EAAC,eAAe,EAAC,UAAU,CAAC;IAC9D,QAAQ,EAAE,CAAC,uCAAoB;QAC7B,uCAAoB;QACpB,kCAAkB;QAClB,0CAAsB;QACtB,wBAAa;KACd;CACF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const twilioDownloadRecordingMedia: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty, {
2
+ recording_sid: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ format: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
4
+ channels: import("@activepieces/pieces-framework").StaticDropdownProperty<number, false>;
5
+ }>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioDownloadRecordingMedia = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ exports.twilioDownloadRecordingMedia = (0, pieces_framework_1.createAction)({
9
+ auth: __1.twilioAuth,
10
+ name: 'download_recording_media',
11
+ displayName: 'Download Recording Media',
12
+ description: 'Download the media file for a specific recording.',
13
+ props: {
14
+ recording_sid: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Recording SID',
16
+ description: 'The unique identifier (SID) of the recording to download. It starts with "RE".',
17
+ required: true,
18
+ }),
19
+ format: pieces_framework_1.Property.StaticDropdown({
20
+ displayName: 'Format',
21
+ description: 'The desired audio format for the download file.',
22
+ required: false,
23
+ defaultValue: 'mp3',
24
+ options: {
25
+ options: [
26
+ { label: 'MP3', value: 'mp3' },
27
+ { label: 'WAV', value: 'wav' },
28
+ ],
29
+ },
30
+ }),
31
+ channels: pieces_framework_1.Property.StaticDropdown({
32
+ displayName: 'Channels',
33
+ description: 'Specify whether to download a mono or dual-channel file. Note: Dual-channel may not be available for all recordings.',
34
+ required: false,
35
+ options: {
36
+ options: [
37
+ { label: 'Mono', value: 1 },
38
+ { label: 'Dual', value: 2 },
39
+ ]
40
+ }
41
+ })
42
+ },
43
+ run(context) {
44
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
+ const { recording_sid, format, channels } = context.propsValue;
46
+ const account_sid = context.auth.username;
47
+ const auth_token = context.auth.password;
48
+ const fileFormat = format !== null && format !== void 0 ? format : 'mp3';
49
+ const path = `Recordings/${recording_sid}.${fileFormat}`;
50
+ const queryParams = {};
51
+ if (channels) {
52
+ queryParams['RequestedChannels'] = channels.toString();
53
+ }
54
+ const response = yield pieces_common_1.httpClient.sendRequest({
55
+ method: pieces_common_1.HttpMethod.GET,
56
+ url: `https://api.twilio.com/2010-04-01/Accounts/${account_sid}/${path}`,
57
+ queryParams: queryParams,
58
+ authentication: {
59
+ type: pieces_common_1.AuthenticationType.BASIC,
60
+ username: account_sid,
61
+ password: auth_token,
62
+ },
63
+ responseType: 'arraybuffer',
64
+ });
65
+ const fileData = Buffer.from(response.body);
66
+ return yield context.files.write({
67
+ fileName: `${recording_sid}.${fileFormat}`,
68
+ data: fileData,
69
+ });
70
+ });
71
+ },
72
+ });
73
+ //# sourceMappingURL=download-recording-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-recording-media.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/action/download-recording-media.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAsG;AACtG,6BAAmC;AAEtB,QAAA,4BAA4B,GAAG,IAAA,+BAAY,EAAC;IACvD,IAAI,EAAE,cAAU;IAChB,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,mDAAmD;IAChE,KAAK,EAAE;QACL,aAAa,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,eAAe;YAC5B,WAAW,EAAE,gFAAgF;YAC7F,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC9B,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;iBAC/B;aACF;SACF,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC9B,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,sHAAsH;YACnI,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACL,OAAO,EAAE;oBACL,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;oBAC3B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;iBAC9B;aACJ;SACJ,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEzC,MAAM,UAAU,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK,CAAC;YACnC,MAAM,IAAI,GAAG,cAAc,aAAa,IAAI,UAAU,EAAE,CAAC;YAEzD,MAAM,WAAW,GAAgB,EAAE,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACX,WAAW,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3D,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAc;gBACzD,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,8CAA8C,WAAW,IAAI,IAAI,EAAE;gBACxE,WAAW,EAAE,WAAW;gBACxB,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,KAAK;oBAC9B,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,UAAU;iBACrB;gBACD,YAAY,EAAE,aAAa;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC/B,QAAQ,EAAE,GAAG,aAAa,IAAI,UAAU,EAAE;gBAC1C,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const twilioGetMessage: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty, {
2
+ message_sid: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ }>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioGetMessage = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const common_1 = require("../common");
8
+ const __1 = require("../..");
9
+ exports.twilioGetMessage = (0, pieces_framework_1.createAction)({
10
+ auth: __1.twilioAuth,
11
+ name: 'get_message',
12
+ description: 'Retrieves the details of a specific message.',
13
+ displayName: 'Get Message',
14
+ props: {
15
+ message_sid: pieces_framework_1.Property.ShortText({
16
+ displayName: 'Message SID',
17
+ description: 'The unique identifier (SID) of the message to retrieve. It starts with "SM" or "MM".',
18
+ required: true,
19
+ }),
20
+ },
21
+ run(context) {
22
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ const { message_sid } = context.propsValue;
24
+ const account_sid = context.auth.username;
25
+ const auth_token = context.auth.password;
26
+ const path = `Messages/${message_sid}.json`;
27
+ const response = yield (0, common_1.callTwilioApi)(pieces_common_1.HttpMethod.GET, path, { account_sid, auth_token });
28
+ return response.body;
29
+ });
30
+ },
31
+ });
32
+ //# sourceMappingURL=get-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-message.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/action/get-message.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,sCAA0C;AAC1C,6BAAmC;AAEtB,QAAA,gBAAgB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,cAAU;IAChB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,8CAA8C;IAC3D,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE;QACL,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,sFAAsF;YACnG,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEzC,MAAM,IAAI,GAAG,YAAY,WAAW,OAAO,CAAC;YAE5C,MAAM,QAAQ,GAAI,MAAM,IAAA,sBAAa,EACnC,0BAAU,CAAC,GAAG,EACd,IAAI,EACJ,EAAE,WAAW,EAAE,UAAU,EAAE,CAC5B,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const twilioMakeCall: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty, {
2
+ from: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
3
+ to: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ message: import("@activepieces/pieces-framework").LongTextProperty<true>;
5
+ voice: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
6
+ language: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
7
+ sendDigits: import("@activepieces/pieces-framework").ShortTextProperty<false>;
8
+ timeout: import("@activepieces/pieces-framework").NumberProperty<false>;
9
+ }>;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioMakeCall = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const common_1 = require("../common");
8
+ const __1 = require("../..");
9
+ exports.twilioMakeCall = (0, pieces_framework_1.createAction)({
10
+ auth: __1.twilioAuth,
11
+ name: 'make_call',
12
+ description: 'Call a number and say a message.',
13
+ displayName: 'Call Phone',
14
+ props: {
15
+ from: common_1.twilioCommon.phone_number,
16
+ to: pieces_framework_1.Property.ShortText({
17
+ displayName: 'To',
18
+ description: 'The phone number to call. Must be in E.164 format (e.g., +15558675310).',
19
+ required: true,
20
+ }),
21
+ message: pieces_framework_1.Property.LongText({
22
+ displayName: 'Message to Say',
23
+ description: 'The text message to be converted to speech and spoken to the recipient.',
24
+ required: true,
25
+ }),
26
+ voice: pieces_framework_1.Property.StaticDropdown({
27
+ displayName: 'Voice',
28
+ description: 'The voice to use for the text-to-speech message.',
29
+ required: false,
30
+ options: {
31
+ options: [
32
+ { label: 'Alice (Default)', value: 'alice' },
33
+ { label: 'Man', value: 'man' },
34
+ { label: 'Woman', value: 'woman' },
35
+ ]
36
+ }
37
+ }),
38
+ language: pieces_framework_1.Property.StaticDropdown({
39
+ displayName: 'Language',
40
+ description: 'The language to use for the text-to-speech message.',
41
+ required: false,
42
+ options: {
43
+ options: [
44
+ { label: 'English (US)', value: 'en-US' },
45
+ { label: 'English (UK)', value: 'en-GB' },
46
+ { label: 'Spanish', value: 'es-ES' },
47
+ { label: 'French', value: 'fr-FR' },
48
+ { label: 'German', value: 'de-DE' },
49
+ ]
50
+ }
51
+ }),
52
+ sendDigits: pieces_framework_1.Property.ShortText({
53
+ displayName: 'Send DTMF Tones',
54
+ description: "A string of keys to dial after the call is connected. Use 'w' for a half-second pause.",
55
+ required: false,
56
+ }),
57
+ timeout: pieces_framework_1.Property.Number({
58
+ displayName: 'Timeout (seconds)',
59
+ description: 'The number of seconds to let the phone ring before assuming no answer. Default is 60.',
60
+ required: false,
61
+ })
62
+ },
63
+ run(context) {
64
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
+ const { from, to, message, voice, language, sendDigits, timeout } = context.propsValue;
66
+ const account_sid = context.auth.username;
67
+ const auth_token = context.auth.password;
68
+ // Construct TwiML for the <Say> verb
69
+ const voiceAttr = voice ? ` voice="${voice}"` : '';
70
+ const langAttr = language ? ` language="${language}"` : '';
71
+ const escapedMessage = message
72
+ .replace(/&/g, '&amp;')
73
+ .replace(/</g, '&lt;')
74
+ .replace(/>/g, '&gt;')
75
+ .replace(/"/g, '&quot;')
76
+ .replace(/'/g, '&apos;');
77
+ const twiml = `<Response><Say${voiceAttr}${langAttr}>${escapedMessage}</Say></Response>`;
78
+ const bodyParams = {
79
+ From: from,
80
+ To: to,
81
+ Twiml: twiml,
82
+ };
83
+ if (sendDigits) {
84
+ bodyParams['SendDigits'] = sendDigits;
85
+ }
86
+ if (timeout) {
87
+ bodyParams['Timeout'] = timeout;
88
+ }
89
+ const response = yield (0, common_1.callTwilioApi)(pieces_common_1.HttpMethod.POST, 'Calls.json', { account_sid, auth_token }, bodyParams);
90
+ return response.body;
91
+ });
92
+ },
93
+ });
94
+ //# sourceMappingURL=make-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-call.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/action/make-call.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const twilioPhoneNumberLookup: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty, {
2
+ phone_number: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ }>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioPhoneNumberLookup = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ exports.twilioPhoneNumberLookup = (0, pieces_framework_1.createAction)({
9
+ auth: __1.twilioAuth,
10
+ name: 'phone_number_lookup',
11
+ description: 'Lookup information about a phone number.',
12
+ displayName: 'Phone Number Lookup',
13
+ props: {
14
+ phone_number: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Phone Number',
16
+ required: true
17
+ })
18
+ },
19
+ run(context) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const { phone_number } = context.propsValue;
22
+ const account_sid = context.auth.username;
23
+ const auth_token = context.auth.password;
24
+ const response = yield pieces_common_1.httpClient.sendRequest({
25
+ method: pieces_common_1.HttpMethod.GET,
26
+ url: `https://lookups.twilio.com/v2/PhoneNumbers/${encodeURIComponent(phone_number)}`,
27
+ authentication: {
28
+ type: pieces_common_1.AuthenticationType.BASIC,
29
+ username: account_sid,
30
+ password: auth_token,
31
+ },
32
+ queryParams: {
33
+ Fields: 'line_type_intelligence'
34
+ }
35
+ });
36
+ return response.body;
37
+ });
38
+ },
39
+ });
40
+ //# sourceMappingURL=phone-number-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-number-lookup.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/action/phone-number-lookup.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyF;AACzF,6BAAmC;AAEtB,QAAA,uBAAuB,GAAG,IAAA,+BAAY,EAAC;IAClD,IAAI,EAAE,cAAU;IAChB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,0CAA0C;IACvD,WAAW,EAAE,qBAAqB;IAClC,KAAK,EAAE;QACL,YAAY,EAAC,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAC,cAAc;YAC1B,QAAQ,EAAC,IAAI;SACd,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAE5C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEzC,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAC,0BAAU,CAAC,GAAG;gBACrB,GAAG,EAAC,8CAA8C,kBAAkB,CAAC,YAAY,CAAC,EAAE;gBACnF,cAAc,EAAE;oBACX,IAAI,EAAE,kCAAkB,CAAC,KAAK;oBAC9B,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,UAAU;iBACrB;gBACH,WAAW,EAAC;oBACV,MAAM,EAAC,wBAAwB;iBAChC;aACJ,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const twilioNewCall: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}>;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioNewCall = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const __1 = require("../..");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ const polling = {
9
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
10
+ items(_a) {
11
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ var _b, _c;
13
+ const isTest = lastFetchEpochMS === 0;
14
+ const account_sid = auth.username;
15
+ const auth_token = auth.password;
16
+ let currentUri = `/2010-04-01/Accounts/${account_sid}/Calls.json?PageSize=${isTest ? 1 : 1000}`;
17
+ const results = [];
18
+ let stop = false;
19
+ do {
20
+ const response = yield pieces_common_1.httpClient.sendRequest({
21
+ method: pieces_common_1.HttpMethod.GET,
22
+ url: `https://api.twilio.com${currentUri}`,
23
+ authentication: {
24
+ type: pieces_common_1.AuthenticationType.BASIC,
25
+ username: account_sid,
26
+ password: auth_token,
27
+ },
28
+ });
29
+ const payload = response.body;
30
+ const calls = (_b = payload.calls) !== null && _b !== void 0 ? _b : [];
31
+ for (const call of calls) {
32
+ const ts = new Date(call.date_created).getTime();
33
+ if (call.status !== 'completed')
34
+ continue;
35
+ if (isTest || ts > lastFetchEpochMS) {
36
+ results.push(call);
37
+ }
38
+ else {
39
+ stop = true;
40
+ break;
41
+ }
42
+ }
43
+ if (isTest)
44
+ break;
45
+ currentUri = (_c = payload === null || payload === void 0 ? void 0 : payload.next_page_uri) !== null && _c !== void 0 ? _c : null;
46
+ } while (currentUri && !stop);
47
+ return results.map((call) => {
48
+ return {
49
+ epochMilliSeconds: new Date(call.date_created).getTime(),
50
+ data: call,
51
+ };
52
+ });
53
+ });
54
+ },
55
+ };
56
+ exports.twilioNewCall = (0, pieces_framework_1.createTrigger)({
57
+ auth: __1.twilioAuth,
58
+ name: 'new_call',
59
+ displayName: 'New Call',
60
+ description: 'Triggers when a call completes (incoming or outgoing).',
61
+ props: {},
62
+ sampleData: {
63
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
64
+ "answered_by": "machine_start",
65
+ "api_version": "2010-04-01",
66
+ "caller_name": "callerid1",
67
+ "date_created": "Fri, 18 Oct 2019 17:00:00 +0000",
68
+ "date_updated": "Fri, 18 Oct 2019 17:01:00 +0000",
69
+ "direction": "outbound-api",
70
+ "duration": "4",
71
+ "end_time": "Fri, 18 Oct 2019 17:03:00 +0000",
72
+ "forwarded_from": "calledvia1",
73
+ "from": "+13051416799",
74
+ "from_formatted": "(305) 141-6799",
75
+ "group_sid": "GPdeadbeefdeadbeefdeadbeefdeadbeef",
76
+ "parent_call_sid": "CAdeadbeefdeadbeefdeadbeefdeadbeef",
77
+ "phone_number_sid": "PNdeadbeefdeadbeefdeadbeefdeadbeef",
78
+ "price": "-0.200",
79
+ "price_unit": "USD",
80
+ "sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
81
+ "start_time": "Fri, 18 Oct 2019 17:02:00 +0000",
82
+ "status": "completed",
83
+ "subresource_uris": {
84
+ "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
85
+ "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
86
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
87
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json",
88
+ "siprec": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Siprec.json",
89
+ "streams": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Streams.json",
90
+ "transcriptions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json",
91
+ "user_defined_message_subscriptions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/UserDefinedMessageSubscriptions.json",
92
+ "user_defined_messages": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/UserDefinedMessages.json"
93
+ },
94
+ "to": "+13051913581",
95
+ "to_formatted": "(305) 191-3581",
96
+ "trunk_sid": "TKdeadbeefdeadbeefdeadbeefdeadbeef",
97
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
98
+ "queue_time": "1000"
99
+ },
100
+ type: pieces_framework_1.TriggerStrategy.POLLING,
101
+ onEnable(context) {
102
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
103
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
104
+ auth: context.auth,
105
+ store: context.store,
106
+ propsValue: context.propsValue,
107
+ });
108
+ });
109
+ },
110
+ onDisable(context) {
111
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
112
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
113
+ auth: context.auth,
114
+ store: context.store,
115
+ propsValue: context.propsValue,
116
+ });
117
+ });
118
+ },
119
+ test(context) {
120
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
121
+ return yield pieces_common_1.pollingHelper.test(polling, context);
122
+ });
123
+ },
124
+ run(context) {
125
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
126
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
127
+ });
128
+ },
129
+ });
130
+ //# sourceMappingURL=new-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-call.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/trigger/new-call.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const twilioNewPhoneNumber: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}>;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioNewPhoneNumber = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ const polling = {
9
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
10
+ items(_a) {
11
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ var _b, _c;
13
+ const isTest = lastFetchEpochMS === 0;
14
+ const account_sid = auth.username;
15
+ const auth_token = auth.password;
16
+ let currentUri = `/2010-04-01/Accounts/${account_sid}/IncomingPhoneNumbers.json?PageSize=${isTest ? 10 : 1000}`;
17
+ const results = [];
18
+ let stop = false;
19
+ do {
20
+ const response = yield pieces_common_1.httpClient.sendRequest({
21
+ method: pieces_common_1.HttpMethod.GET,
22
+ url: `https://api.twilio.com${currentUri}`,
23
+ authentication: {
24
+ type: pieces_common_1.AuthenticationType.BASIC,
25
+ username: account_sid,
26
+ password: auth_token,
27
+ },
28
+ });
29
+ const payload = response.body;
30
+ const numbers = (_b = payload.incoming_phone_numbers) !== null && _b !== void 0 ? _b : [];
31
+ for (const num of numbers) {
32
+ const ts = new Date(num.date_created).getTime();
33
+ if (isTest || ts > lastFetchEpochMS) {
34
+ results.push(num);
35
+ }
36
+ else {
37
+ stop = true;
38
+ break;
39
+ }
40
+ }
41
+ if (isTest)
42
+ break;
43
+ currentUri = (_c = payload === null || payload === void 0 ? void 0 : payload.next_page_uri) !== null && _c !== void 0 ? _c : null;
44
+ } while (currentUri && !stop);
45
+ return results.map((num) => {
46
+ return {
47
+ epochMilliSeconds: new Date(num.date_created).getTime(),
48
+ data: num,
49
+ };
50
+ });
51
+ });
52
+ },
53
+ };
54
+ exports.twilioNewPhoneNumber = (0, pieces_framework_1.createTrigger)({
55
+ auth: __1.twilioAuth,
56
+ name: 'new_phone_number',
57
+ displayName: 'New Phone Number',
58
+ description: 'Triggers when you add a new phone number to your account.',
59
+ props: {},
60
+ sampleData: {
61
+ sid: 'PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
62
+ account_sid: 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
63
+ friendly_name: '(555) 123-4567',
64
+ phone_number: '+15551234567',
65
+ voice_url: 'https://demo.twilio.com/welcome/voice/',
66
+ voice_method: 'POST',
67
+ sms_url: 'https://demo.twilio.com/welcome/sms/',
68
+ sms_method: 'POST',
69
+ date_created: '2025-08-28T11:44:10+00:00',
70
+ date_updated: '2025-08-28T11:44:10+00:00',
71
+ capabilities: {
72
+ voice: true,
73
+ sms: true,
74
+ mms: true,
75
+ },
76
+ uri: '/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json',
77
+ },
78
+ type: pieces_framework_1.TriggerStrategy.POLLING,
79
+ onEnable(context) {
80
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
81
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
82
+ auth: context.auth,
83
+ store: context.store,
84
+ propsValue: context.propsValue,
85
+ });
86
+ });
87
+ },
88
+ onDisable(context) {
89
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
90
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
91
+ auth: context.auth,
92
+ store: context.store,
93
+ propsValue: context.propsValue,
94
+ });
95
+ });
96
+ },
97
+ test(context) {
98
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
99
+ return yield pieces_common_1.pollingHelper.test(polling, context);
100
+ });
101
+ },
102
+ run(context) {
103
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
105
+ });
106
+ },
107
+ });
108
+ //# sourceMappingURL=new-phone-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-phone-number.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/trigger/new-phone-number.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const twilioNewRecording: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}>;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioNewRecording = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ const polling = {
9
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
10
+ items(_a) {
11
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ var _b, _c;
13
+ const isTest = lastFetchEpochMS === 0;
14
+ const account_sid = auth.username;
15
+ const auth_token = auth.password;
16
+ let currentUri = `/2010-04-01/Accounts/${account_sid}/Recordings.json?PageSize=${isTest ? 10 : 1000}`;
17
+ const results = [];
18
+ let stop = false;
19
+ do {
20
+ const response = yield pieces_common_1.httpClient.sendRequest({
21
+ method: pieces_common_1.HttpMethod.GET,
22
+ url: `https://api.twilio.com${currentUri}`,
23
+ authentication: {
24
+ type: pieces_common_1.AuthenticationType.BASIC,
25
+ username: account_sid,
26
+ password: auth_token,
27
+ },
28
+ });
29
+ const payload = response.body;
30
+ const recordings = (_b = payload.recordings) !== null && _b !== void 0 ? _b : [];
31
+ for (const recording of recordings) {
32
+ const ts = new Date(recording.date_created).getTime();
33
+ if (isTest || ts > lastFetchEpochMS) {
34
+ results.push(recording);
35
+ }
36
+ else {
37
+ stop = true;
38
+ break;
39
+ }
40
+ }
41
+ if (isTest)
42
+ break;
43
+ currentUri = (_c = payload === null || payload === void 0 ? void 0 : payload.next_page_uri) !== null && _c !== void 0 ? _c : null;
44
+ } while (currentUri && !stop);
45
+ return results.map((recording) => {
46
+ return {
47
+ epochMilliSeconds: new Date(recording.date_created).getTime(),
48
+ data: recording,
49
+ };
50
+ });
51
+ });
52
+ },
53
+ };
54
+ exports.twilioNewRecording = (0, pieces_framework_1.createTrigger)({
55
+ auth: __1.twilioAuth,
56
+ name: 'new_recording',
57
+ displayName: 'New Recording',
58
+ description: 'Triggers when a new call recording is completed and available.',
59
+ props: {},
60
+ sampleData: {
61
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
62
+ "api_version": "2010-04-01",
63
+ "call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
64
+ "conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
65
+ "channels": 1,
66
+ "date_created": "Fri, 14 Oct 2016 21:56:34 +0000",
67
+ "date_updated": "Fri, 14 Oct 2016 21:56:38 +0000",
68
+ "start_time": "Fri, 14 Oct 2016 21:56:34 +0000",
69
+ "price": "0.04",
70
+ "price_unit": "USD",
71
+ "duration": "4",
72
+ "sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
73
+ "source": "StartConferenceRecordingAPI",
74
+ "status": "completed",
75
+ "error_code": null,
76
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
77
+ "subresource_uris": {
78
+ "add_on_results": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AddOnResults.json",
79
+ "transcriptions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json"
80
+ },
81
+ "encryption_details": {
82
+ "encryption_public_key_sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
83
+ "encryption_cek": "OV4h6zrsxMIW7h0Zfqwfn6TI2GCNl54KALlg8wn8YB8KYZhXt6HlgvBWAmQTlfYVeLWydMiCewY0YkDDT1xmNe5huEo9vjuKBS5OmYK4CZkSx1NVv3XOGrZHpd2Pl/5WJHVhUK//AUO87uh5qnUP2E0KoLh1nyCLeGcEkXU0RfpPn/6nxjof/n6m6OzZOyeIRK4Oed5+rEtjqFDfqT0EVKjs6JAxv+f0DCc1xYRHl2yV8bahUPVKs+bHYdy4PVszFKa76M/Uae4jFA9Lv233JqWcxj+K2UoghuGhAFbV/JQIIswY2CBYI8JlVSifSqNEl9vvsTJ8bkVMm3MKbG2P7Q==",
84
+ "encryption_iv": "8I2hhNIYNTrwxfHk"
85
+ },
86
+ "media_url": "http://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
87
+ },
88
+ type: pieces_framework_1.TriggerStrategy.POLLING,
89
+ onEnable(context) {
90
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
91
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
92
+ auth: context.auth,
93
+ store: context.store,
94
+ propsValue: context.propsValue,
95
+ });
96
+ });
97
+ },
98
+ onDisable(context) {
99
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
100
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
101
+ auth: context.auth,
102
+ store: context.store,
103
+ propsValue: context.propsValue,
104
+ });
105
+ });
106
+ },
107
+ test(context) {
108
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
109
+ return yield pieces_common_1.pollingHelper.test(polling, context);
110
+ });
111
+ },
112
+ run(context) {
113
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
114
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
115
+ });
116
+ },
117
+ });
118
+ //# sourceMappingURL=new-recording.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-recording.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/trigger/new-recording.ts"],"names":[],"mappings":";;;;AAAA,qEAAsG;AACtG,+DAAiI;AACjI,6BAAmC;AAoBnC,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAC5B,KAAK;qEAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;;YACpC,MAAM,MAAM,GAAG,gBAAgB,KAAK,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEjC,IAAI,UAAU,GAEH,wBAAwB,WAAW,6BAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAChB,EAAE,CAAC;YAEH,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,KAAK,CAAC;YAEjB,GAAG,CAAC;gBACF,MAAM,QAAQ,GAAQ,MAAM,0BAAU,CAAC,WAAW,CAAC;oBACjD,MAAM,EAAE,0BAAU,CAAC,GAAG;oBACtB,GAAG,EAAE,yBAAyB,UAAU,EAAE;oBAC1C,cAAc,EAAE;wBACd,IAAI,EAAE,kCAAkB,CAAC,KAAK;wBAC9B,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE,UAAU;qBACrB;iBACF,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAA0B,CAAC;gBAEpD,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;gBAE5C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;oBAEtD,IAAI,MAAM,IAAI,EAAE,GAAG,gBAAgB,EAAE,CAAC;wBACpC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,IAAI,GAAG,IAAI,CAAC;wBACZ,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM;oBAAE,MAAM;gBAClB,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,IAAI,CAAC;YAC9C,CAAC,QAAQ,UAAU,IAAI,CAAC,IAAI,EAAE;YAE9B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC/B,OAAO;oBACL,iBAAiB,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;oBAC7D,IAAI,EAAE,SAAS;iBAChB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,gCAAa,EAAC;IAC5C,IAAI,EAAE,cAAU;IAChB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,gEAAgE;IAC7E,KAAK,EAAE,EAAE;IACT,UAAU,EAAE;QACV,aAAa,EAAE,oCAAoC;QACnD,aAAa,EAAE,YAAY;QAC3B,UAAU,EAAE,oCAAoC;QAChD,gBAAgB,EAAE,oCAAoC;QACtD,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,iCAAiC;QACjD,cAAc,EAAE,iCAAiC;QACjD,YAAY,EAAE,iCAAiC;QAC/C,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,GAAG;QACf,KAAK,EAAE,oCAAoC;QAC3C,QAAQ,EAAE,6BAA6B;QACvC,QAAQ,EAAE,WAAW;QACrB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,4GAA4G;QACnH,kBAAkB,EAAE;YAClB,gBAAgB,EAAE,yHAAyH;YAC3I,gBAAgB,EAAE,2HAA2H;SAC9I;QACD,oBAAoB,EAAE;YACpB,2BAA2B,EAAE,oCAAoC;YACjE,gBAAgB,EAAE,0VAA0V;YAC5W,eAAe,EAAE,kBAAkB;SACpC;QACD,WAAW,EAAE,4HAA4H;KAC1I;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IAEzB,QAAQ,CAAC,OAAO;;YACpB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,IAAI,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const twilioNewTranscription: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").BasicAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {}>;
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.twilioNewTranscription = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const __1 = require("../..");
8
+ const polling = {
9
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
10
+ items(_a) {
11
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, lastFetchEpochMS }) {
12
+ var _b, _c;
13
+ const isTest = lastFetchEpochMS === 0;
14
+ const account_sid = auth.username;
15
+ const auth_token = auth.password;
16
+ let currentUri = `/2010-04-01/Accounts/${account_sid}/Transcriptions.json?PageSize=${isTest ? 10 : 1000}`;
17
+ const results = [];
18
+ let stop = false;
19
+ do {
20
+ const response = yield pieces_common_1.httpClient.sendRequest({
21
+ method: pieces_common_1.HttpMethod.GET,
22
+ url: `https://api.twilio.com${currentUri}`,
23
+ authentication: {
24
+ type: pieces_common_1.AuthenticationType.BASIC,
25
+ username: account_sid,
26
+ password: auth_token,
27
+ },
28
+ });
29
+ const payload = response.body;
30
+ const transcriptions = (_b = payload.transcriptions) !== null && _b !== void 0 ? _b : [];
31
+ for (const recording of transcriptions) {
32
+ const ts = new Date(recording.date_created).getTime();
33
+ if (recording.status !== 'completed')
34
+ continue;
35
+ if (isTest || ts > lastFetchEpochMS) {
36
+ results.push(recording);
37
+ }
38
+ else {
39
+ stop = true;
40
+ break;
41
+ }
42
+ }
43
+ if (isTest)
44
+ break;
45
+ currentUri = (_c = payload === null || payload === void 0 ? void 0 : payload.next_page_uri) !== null && _c !== void 0 ? _c : null;
46
+ } while (currentUri && !stop);
47
+ return results.map((recording) => {
48
+ return {
49
+ epochMilliSeconds: new Date(recording.date_created).getTime(),
50
+ data: recording,
51
+ };
52
+ });
53
+ });
54
+ },
55
+ };
56
+ exports.twilioNewTranscription = (0, pieces_framework_1.createTrigger)({
57
+ auth: __1.twilioAuth,
58
+ name: 'new_transcription',
59
+ displayName: 'New Transcription',
60
+ description: 'Triggers when a new call recording transcription is completed.',
61
+ props: {},
62
+ sampleData: {
63
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
64
+ "api_version": "2008-08-01",
65
+ "date_created": "Thu, 25 Aug 2011 20:59:45 +0000",
66
+ "date_updated": "Thu, 25 Aug 2011 20:59:45 +0000",
67
+ "duration": "10",
68
+ "price": "0.00000",
69
+ "price_unit": "USD",
70
+ "recording_sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
71
+ "sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
72
+ "status": "completed",
73
+ "transcription_text": null,
74
+ "type": "fast",
75
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
76
+ },
77
+ type: pieces_framework_1.TriggerStrategy.POLLING,
78
+ onEnable(context) {
79
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
81
+ auth: context.auth,
82
+ store: context.store,
83
+ propsValue: context.propsValue,
84
+ });
85
+ });
86
+ },
87
+ onDisable(context) {
88
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
90
+ auth: context.auth,
91
+ store: context.store,
92
+ propsValue: context.propsValue,
93
+ });
94
+ });
95
+ },
96
+ test(context) {
97
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
98
+ return yield pieces_common_1.pollingHelper.test(polling, context);
99
+ });
100
+ },
101
+ run(context) {
102
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
103
+ return yield pieces_common_1.pollingHelper.poll(polling, context);
104
+ });
105
+ },
106
+ });
107
+ //# sourceMappingURL=new-transcription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-transcription.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/trigger/new-transcription.ts"],"names":[],"mappings":"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"}