runline 0.2.1 → 0.3.0
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/dist/commands/auth.d.ts +7 -0
- package/dist/commands/auth.js +96 -0
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.js +46 -0
- package/dist/core/engine.js +7 -1
- package/dist/core/oauth.d.ts +46 -0
- package/dist/core/oauth.js +145 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -1
- package/dist/main.js +28 -0
- package/dist/plugin/api.d.ts +7 -1
- package/dist/plugin/api.js +7 -0
- package/dist/plugin/types.d.ts +47 -0
- package/dist/plugins/actionNetwork/src/index.js +118 -25
- package/dist/plugins/activeCampaign/src/index.js +184 -38
- package/dist/plugins/adalo/src/index.js +40 -8
- package/dist/plugins/affinity/src/index.js +100 -20
- package/dist/plugins/agileCrm/src/index.js +115 -27
- package/dist/plugins/airtable/src/index.js +94 -19
- package/dist/plugins/airtop/src/index.js +266 -62
- package/dist/plugins/apiTemplateIo/src/index.js +25 -5
- package/dist/plugins/asana/src/index.js +195 -41
- package/dist/plugins/autopilot/src/index.js +39 -8
- package/dist/plugins/bambooHr/src/index.js +109 -22
- package/dist/plugins/bannerbear/src/index.js +36 -8
- package/dist/plugins/baserow/src/index.js +35 -7
- package/dist/plugins/beeminder/src/index.js +198 -40
- package/dist/plugins/bitly/src/index.js +46 -10
- package/dist/plugins/bitwarden/src/index.js +167 -36
- package/dist/plugins/box/src/index.js +172 -37
- package/dist/plugins/brandfetch/src/index.js +5 -1
- package/dist/plugins/brevo/src/index.js +136 -29
- package/dist/plugins/bubble/src/index.js +76 -17
- package/dist/plugins/chargebee/src/index.js +35 -7
- package/dist/plugins/circleci/src/index.js +50 -10
- package/dist/plugins/ciscoWebex/src/index.js +131 -27
- package/dist/plugins/clearbit/src/index.js +76 -17
- package/dist/plugins/clickup/src/index.js +500 -107
- package/dist/plugins/clockify/src/index.js +229 -47
- package/dist/plugins/cloudflare/src/index.js +28 -6
- package/dist/plugins/cockpit/src/index.js +54 -12
- package/dist/plugins/coda/src/index.js +81 -19
- package/dist/plugins/coingecko/src/index.js +157 -33
- package/dist/plugins/contentful/src/index.js +85 -17
- package/dist/plugins/convertkit/src/index.js +74 -18
- package/dist/plugins/copper/src/index.js +59 -11
- package/dist/plugins/cortex/src/index.js +55 -13
- package/dist/plugins/currents/src/index.js +310 -71
- package/dist/plugins/customerIo/src/index.js +112 -23
- package/dist/plugins/databricks/src/index.js +549 -115
- package/dist/plugins/deepl/src/index.js +26 -6
- package/dist/plugins/demio/src/index.js +56 -11
- package/dist/plugins/dhl/src/index.js +16 -3
- package/dist/plugins/discord/src/index.js +141 -31
- package/dist/plugins/discourse/src/index.js +136 -31
- package/dist/plugins/disqus/src/index.js +96 -20
- package/dist/plugins/docker/src/index.js +20 -4
- package/dist/plugins/drift/src/index.js +19 -5
- package/dist/plugins/dropbox/src/index.js +139 -30
- package/dist/plugins/dropcontact/src/index.js +21 -4
- package/dist/plugins/egoi/src/index.js +61 -15
- package/dist/plugins/elasticsearch/src/index.js +59 -13
- package/dist/plugins/emelia/src/index.js +95 -19
- package/dist/plugins/erpnext/src/index.js +74 -15
- package/dist/plugins/facebookGraph/src/index.js +52 -11
- package/dist/plugins/freshdesk/src/index.js +220 -48
- package/dist/plugins/freshservice/src/index.js +39 -9
- package/dist/plugins/freshworksCrm/src/index.js +58 -12
- package/dist/plugins/getresponse/src/index.js +87 -18
- package/dist/plugins/ghost/src/index.js +114 -26
- package/dist/plugins/github/src/index.js +483 -109
- package/dist/plugins/gitlab/src/index.js +193 -45
- package/dist/plugins/gmail/src/index.js +1075 -0
- package/dist/plugins/gong/src/index.js +68 -14
- package/dist/plugins/gotify/src/index.js +43 -9
- package/dist/plugins/gotowebinar/src/index.js +233 -47
- package/dist/plugins/grafana/src/index.js +92 -21
- package/dist/plugins/graphql/src/index.js +38 -8
- package/dist/plugins/grist/src/index.js +52 -10
- package/dist/plugins/hackernews/src/index.js +32 -6
- package/dist/plugins/halopsa/src/index.js +131 -26
- package/dist/plugins/harvest/src/index.js +182 -42
- package/dist/plugins/helpscout/src/index.js +153 -31
- package/dist/plugins/highlevel/src/index.js +291 -58
- package/dist/plugins/homeAssistant/src/index.js +124 -26
- package/dist/plugins/hubspot/src/index.js +163 -29
- package/dist/plugins/humanticAi/src/index.js +54 -5
- package/dist/plugins/hunter/src/index.js +21 -4
- package/dist/plugins/intercom/src/index.js +95 -20
- package/dist/plugins/iterable/src/index.js +96 -20
- package/dist/plugins/jenkins/src/index.js +75 -17
- package/dist/plugins/jira/src/index.js +193 -43
- package/dist/plugins/keap/src/index.js +222 -56
- package/dist/plugins/kobotoolbox/src/index.js +113 -25
- package/dist/plugins/lemlist/src/index.js +79 -18
- package/dist/plugins/linear/src/index.js +86 -19
- package/dist/plugins/lingvanex/src/index.js +38 -8
- package/dist/plugins/linkedin/src/index.js +37 -8
- package/dist/plugins/lonescale/src/index.js +41 -9
- package/dist/plugins/magento/src/index.js +98 -27
- package/dist/plugins/mailcheck/src/index.js +11 -2
- package/dist/plugins/mailchimp/src/index.js +193 -42
- package/dist/plugins/mailerlite/src/index.js +61 -12
- package/dist/plugins/mailgun/src/index.js +39 -7
- package/dist/plugins/mailjet/src/index.js +141 -30
- package/dist/plugins/mandrill/src/index.js +67 -14
- package/dist/plugins/marketstack/src/index.js +56 -10
- package/dist/plugins/matrix/src/index.js +97 -20
- package/dist/plugins/mattermost/src/index.js +124 -26
- package/dist/plugins/mautic/src/index.js +129 -26
- package/dist/plugins/medium/src/index.js +64 -13
- package/dist/plugins/messagebird/src/index.js +80 -15
- package/dist/plugins/metabase/src/index.js +57 -12
- package/dist/plugins/misp/src/index.js +135 -33
- package/dist/plugins/mocean/src/index.js +33 -7
- package/dist/plugins/monday/src/index.js +97 -23
- package/dist/plugins/monicaCrm/src/index.js +112 -23
- package/dist/plugins/msg91/src/index.js +11 -2
- package/dist/plugins/nasa/src/index.js +108 -21
- package/dist/plugins/netlify/src/index.js +28 -6
- package/dist/plugins/netscalerAdc/src/index.js +144 -29
- package/dist/plugins/nextcloud/src/index.js +103 -20
- package/dist/plugins/nocodb/src/index.js +57 -11
- package/dist/plugins/notion/src/index.js +148 -37
- package/dist/plugins/npm/src/index.js +59 -12
- package/dist/plugins/odoo/src/index.js +102 -20
- package/dist/plugins/okta/src/index.js +50 -10
- package/dist/plugins/oneSimpleApi/src/index.js +84 -17
- package/dist/plugins/onfleet/src/index.js +139 -32
- package/dist/plugins/openThesaurus/src/index.js +46 -9
- package/dist/plugins/openweathermap/src/index.js +31 -6
- package/dist/plugins/oura/src/index.js +36 -7
- package/dist/plugins/paddle/src/index.js +80 -17
- package/dist/plugins/pagerduty/src/index.js +53 -12
- package/dist/plugins/paypal/src/index.js +51 -11
- package/dist/plugins/peekalink/src/index.js +12 -3
- package/dist/plugins/phantombuster/src/index.js +39 -8
- package/dist/plugins/philipsHue/src/index.js +64 -13
- package/dist/plugins/pipedrive/src/index.js +167 -45
- package/dist/plugins/plivo/src/index.js +43 -8
- package/dist/plugins/postbin/src/index.js +9 -2
- package/dist/plugins/posthog/src/index.js +50 -13
- package/dist/plugins/profitwell/src/index.js +24 -5
- package/dist/plugins/pushbullet/src/index.js +45 -9
- package/dist/plugins/pushcut/src/index.js +31 -6
- package/dist/plugins/pushover/src/index.js +51 -10
- package/dist/plugins/quickbase/src/index.js +66 -13
- package/dist/plugins/quickbooks/src/index.js +86 -19
- package/dist/plugins/quickchart/src/index.js +35 -7
- package/dist/plugins/raindrop/src/index.js +54 -13
- package/dist/plugins/reddit/src/index.js +73 -18
- package/dist/plugins/rocketchat/src/index.js +47 -9
- package/dist/plugins/rundeck/src/index.js +26 -5
- package/dist/plugins/salesforce/src/index.js +161 -31
- package/dist/plugins/salesmate/src/index.js +75 -16
- package/dist/plugins/securityScorecard/src/index.js +73 -15
- package/dist/plugins/segment/src/index.js +21 -4
- package/dist/plugins/sendgrid/src/index.js +102 -24
- package/dist/plugins/sendy/src/index.js +54 -11
- package/dist/plugins/sentry/src/index.js +174 -34
- package/dist/plugins/servicenow/src/index.js +120 -27
- package/dist/plugins/shopify/src/index.js +53 -12
- package/dist/plugins/signl4/src/index.js +16 -3
- package/dist/plugins/slack/src/index.js +407 -105
- package/dist/plugins/sms77/src/index.js +26 -5
- package/dist/plugins/splunk/src/index.js +186 -45
- package/dist/plugins/spotify/src/index.js +265 -66
- package/dist/plugins/stackby/src/index.js +18 -6
- package/dist/plugins/storyblok/src/index.js +57 -11
- package/dist/plugins/strapi/src/index.js +63 -12
- package/dist/plugins/strava/src/index.js +58 -13
- package/dist/plugins/stripe/src/index.js +143 -30
- package/dist/plugins/supabase/src/index.js +49 -10
- package/dist/plugins/syncromsp/src/index.js +245 -67
- package/dist/plugins/tapfiliate/src/index.js +57 -14
- package/dist/plugins/telegram/src/index.js +202 -39
- package/dist/plugins/thehive/src/index.js +271 -66
- package/dist/plugins/thehiveProject/src/index.js +457 -89
- package/dist/plugins/todoist/src/index.js +326 -77
- package/dist/plugins/travisci/src/index.js +35 -8
- package/dist/plugins/trello/src/index.js +204 -46
- package/dist/plugins/twake/src/index.js +10 -2
- package/dist/plugins/twilio/src/index.js +56 -11
- package/dist/plugins/twist/src/index.js +241 -48
- package/dist/plugins/twitter/src/index.js +128 -30
- package/dist/plugins/unleashedSoftware/src/index.js +30 -6
- package/dist/plugins/uplead/src/index.js +9 -2
- package/dist/plugins/uproc/src/index.js +31 -6
- package/dist/plugins/uptimerobot/src/index.js +119 -25
- package/dist/plugins/urlscanio/src/index.js +25 -6
- package/dist/plugins/vero/src/index.js +68 -13
- package/dist/plugins/vonage/src/index.js +32 -6
- package/dist/plugins/wekan/src/index.js +297 -52
- package/dist/plugins/woocommerce/src/index.js +57 -12
- package/dist/plugins/wordpress/src/index.js +94 -18
- package/dist/plugins/xero/src/index.js +79 -13
- package/dist/plugins/yourls/src/index.js +33 -6
- package/dist/plugins/zammad/src/index.js +139 -36
- package/dist/plugins/zendesk/src/index.js +201 -48
- package/dist/plugins/zoho/src/index.js +88 -21
- package/dist/plugins/zoom/src/index.js +41 -7
- package/dist/plugins/zulip/src/index.js +101 -20
- package/package.json +3 -1
|
@@ -41,15 +41,35 @@ export default function gong(rl) {
|
|
|
41
41
|
rl.setName("gong");
|
|
42
42
|
rl.setVersion("0.1.0");
|
|
43
43
|
rl.setConnectionSchema({
|
|
44
|
-
baseUrl: {
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
baseUrl: {
|
|
45
|
+
type: "string",
|
|
46
|
+
required: false,
|
|
47
|
+
description: "Gong API base URL (default: https://api.gong.io)",
|
|
48
|
+
env: "GONG_BASE_URL",
|
|
49
|
+
default: "https://api.gong.io",
|
|
50
|
+
},
|
|
51
|
+
accessKey: {
|
|
52
|
+
type: "string",
|
|
53
|
+
required: true,
|
|
54
|
+
description: "Gong API access key",
|
|
55
|
+
env: "GONG_ACCESS_KEY",
|
|
56
|
+
},
|
|
57
|
+
accessKeySecret: {
|
|
58
|
+
type: "string",
|
|
59
|
+
required: true,
|
|
60
|
+
description: "Gong API access key secret",
|
|
61
|
+
env: "GONG_ACCESS_KEY_SECRET",
|
|
62
|
+
},
|
|
47
63
|
});
|
|
48
64
|
rl.registerAction("call.get", {
|
|
49
65
|
description: "Get detailed call data",
|
|
50
66
|
inputSchema: {
|
|
51
67
|
callId: { type: "string", required: true, description: "Call ID" },
|
|
52
|
-
contentSelector: {
|
|
68
|
+
contentSelector: {
|
|
69
|
+
type: "object",
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Content selector for what data to include (exposedFields object)",
|
|
72
|
+
},
|
|
53
73
|
},
|
|
54
74
|
async execute(input, ctx) {
|
|
55
75
|
const { callId, contentSelector } = input;
|
|
@@ -66,14 +86,34 @@ export default function gong(rl) {
|
|
|
66
86
|
description: "List calls",
|
|
67
87
|
inputSchema: {
|
|
68
88
|
limit: { type: "number", required: false, description: "Max results" },
|
|
69
|
-
fromDateTime: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
89
|
+
fromDateTime: {
|
|
90
|
+
type: "string",
|
|
91
|
+
required: false,
|
|
92
|
+
description: "Calls started after (ISO 8601)",
|
|
93
|
+
},
|
|
94
|
+
toDateTime: {
|
|
95
|
+
type: "string",
|
|
96
|
+
required: false,
|
|
97
|
+
description: "Calls started before (ISO 8601)",
|
|
98
|
+
},
|
|
99
|
+
workspaceId: {
|
|
100
|
+
type: "string",
|
|
101
|
+
required: false,
|
|
102
|
+
description: "Filter by workspace",
|
|
103
|
+
},
|
|
104
|
+
callIds: {
|
|
105
|
+
type: "array",
|
|
106
|
+
required: false,
|
|
107
|
+
description: "Specific call IDs",
|
|
108
|
+
},
|
|
109
|
+
primaryUserIds: {
|
|
110
|
+
type: "array",
|
|
111
|
+
required: false,
|
|
112
|
+
description: "Filter by organizer user IDs",
|
|
113
|
+
},
|
|
74
114
|
},
|
|
75
115
|
async execute(input, ctx) {
|
|
76
|
-
const { limit, fromDateTime, toDateTime, workspaceId, callIds, primaryUserIds } = (input ?? {});
|
|
116
|
+
const { limit, fromDateTime, toDateTime, workspaceId, callIds, primaryUserIds, } = (input ?? {});
|
|
77
117
|
const { baseUrl, accessKey, accessKeySecret } = getConn(ctx);
|
|
78
118
|
const filter = {};
|
|
79
119
|
if (fromDateTime)
|
|
@@ -91,7 +131,9 @@ export default function gong(rl) {
|
|
|
91
131
|
});
|
|
92
132
|
rl.registerAction("user.get", {
|
|
93
133
|
description: "Get a user",
|
|
94
|
-
inputSchema: {
|
|
134
|
+
inputSchema: {
|
|
135
|
+
userId: { type: "string", required: true, description: "User ID" },
|
|
136
|
+
},
|
|
95
137
|
async execute(input, ctx) {
|
|
96
138
|
const { userId } = input;
|
|
97
139
|
const { baseUrl, accessKey, accessKeySecret } = getConn(ctx);
|
|
@@ -106,9 +148,21 @@ export default function gong(rl) {
|
|
|
106
148
|
description: "List users",
|
|
107
149
|
inputSchema: {
|
|
108
150
|
limit: { type: "number", required: false, description: "Max results" },
|
|
109
|
-
createdFromDateTime: {
|
|
110
|
-
|
|
111
|
-
|
|
151
|
+
createdFromDateTime: {
|
|
152
|
+
type: "string",
|
|
153
|
+
required: false,
|
|
154
|
+
description: "Users created after (ISO 8601)",
|
|
155
|
+
},
|
|
156
|
+
createdToDateTime: {
|
|
157
|
+
type: "string",
|
|
158
|
+
required: false,
|
|
159
|
+
description: "Users created before (ISO 8601)",
|
|
160
|
+
},
|
|
161
|
+
userIds: {
|
|
162
|
+
type: "array",
|
|
163
|
+
required: false,
|
|
164
|
+
description: "Specific user IDs",
|
|
165
|
+
},
|
|
112
166
|
},
|
|
113
167
|
async execute(input, ctx) {
|
|
114
168
|
const { limit, createdFromDateTime, createdToDateTime, userIds } = (input ?? {});
|
|
@@ -8,9 +8,16 @@ async function apiRequest(url, token, method, endpoint, body, qs) {
|
|
|
8
8
|
}
|
|
9
9
|
const opts = {
|
|
10
10
|
method,
|
|
11
|
-
headers: {
|
|
11
|
+
headers: {
|
|
12
|
+
"X-Gotify-Key": token,
|
|
13
|
+
Accept: "application/json",
|
|
14
|
+
"Content-Type": "application/json",
|
|
15
|
+
},
|
|
12
16
|
};
|
|
13
|
-
if (body &&
|
|
17
|
+
if (body &&
|
|
18
|
+
Object.keys(body).length > 0 &&
|
|
19
|
+
method !== "GET" &&
|
|
20
|
+
method !== "DELETE") {
|
|
14
21
|
opts.body = JSON.stringify(body);
|
|
15
22
|
}
|
|
16
23
|
const res = await fetch(fullUrl.toString(), opts);
|
|
@@ -24,17 +31,40 @@ export default function gotify(rl) {
|
|
|
24
31
|
rl.setName("gotify");
|
|
25
32
|
rl.setVersion("0.1.0");
|
|
26
33
|
rl.setConnectionSchema({
|
|
27
|
-
url: {
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
url: {
|
|
35
|
+
type: "string",
|
|
36
|
+
required: true,
|
|
37
|
+
description: "Gotify server URL (e.g. https://gotify.example.com)",
|
|
38
|
+
env: "GOTIFY_URL",
|
|
39
|
+
},
|
|
40
|
+
appApiToken: {
|
|
41
|
+
type: "string",
|
|
42
|
+
required: true,
|
|
43
|
+
description: "Application token (for sending messages)",
|
|
44
|
+
env: "GOTIFY_APP_TOKEN",
|
|
45
|
+
},
|
|
46
|
+
clientApiToken: {
|
|
47
|
+
type: "string",
|
|
48
|
+
required: true,
|
|
49
|
+
description: "Client token (for reading/deleting)",
|
|
50
|
+
env: "GOTIFY_CLIENT_TOKEN",
|
|
51
|
+
},
|
|
30
52
|
});
|
|
31
53
|
rl.registerAction("message.create", {
|
|
32
54
|
description: "Send a push message",
|
|
33
55
|
inputSchema: {
|
|
34
56
|
message: { type: "string", required: true, description: "Message text" },
|
|
35
57
|
title: { type: "string", required: false, description: "Message title" },
|
|
36
|
-
priority: {
|
|
37
|
-
|
|
58
|
+
priority: {
|
|
59
|
+
type: "number",
|
|
60
|
+
required: false,
|
|
61
|
+
description: "Priority (default: 1)",
|
|
62
|
+
},
|
|
63
|
+
contentType: {
|
|
64
|
+
type: "string",
|
|
65
|
+
required: false,
|
|
66
|
+
description: "text/plain (default) or text/markdown",
|
|
67
|
+
},
|
|
38
68
|
},
|
|
39
69
|
async execute(input, ctx) {
|
|
40
70
|
const { message, title, priority, contentType } = input;
|
|
@@ -52,7 +82,9 @@ export default function gotify(rl) {
|
|
|
52
82
|
});
|
|
53
83
|
rl.registerAction("message.delete", {
|
|
54
84
|
description: "Delete a message",
|
|
55
|
-
inputSchema: {
|
|
85
|
+
inputSchema: {
|
|
86
|
+
messageId: { type: "string", required: true, description: "Message ID" },
|
|
87
|
+
},
|
|
56
88
|
async execute(input, ctx) {
|
|
57
89
|
const url = ctx.connection.config.url.replace(/\/$/, "");
|
|
58
90
|
const token = ctx.connection.config.clientApiToken;
|
|
@@ -62,7 +94,9 @@ export default function gotify(rl) {
|
|
|
62
94
|
});
|
|
63
95
|
rl.registerAction("message.list", {
|
|
64
96
|
description: "List messages",
|
|
65
|
-
inputSchema: {
|
|
97
|
+
inputSchema: {
|
|
98
|
+
limit: { type: "number", required: false, description: "Max results" },
|
|
99
|
+
},
|
|
66
100
|
async execute(input, ctx) {
|
|
67
101
|
const { limit } = (input ?? {});
|
|
68
102
|
const url = ctx.connection.config.url.replace(/\/$/, "");
|
|
@@ -9,7 +9,11 @@ async function apiRequest(accessToken, method, endpoint, body, qs) {
|
|
|
9
9
|
}
|
|
10
10
|
const opts = {
|
|
11
11
|
method,
|
|
12
|
-
headers: {
|
|
12
|
+
headers: {
|
|
13
|
+
Authorization: `Bearer ${accessToken}`,
|
|
14
|
+
"Content-Type": "application/json",
|
|
15
|
+
Accept: "application/json",
|
|
16
|
+
},
|
|
13
17
|
};
|
|
14
18
|
if (body !== undefined && method !== "GET" && method !== "DELETE") {
|
|
15
19
|
opts.body = JSON.stringify(body);
|
|
@@ -34,22 +38,52 @@ export default function gotowebinar(rl) {
|
|
|
34
38
|
rl.setName("gotowebinar");
|
|
35
39
|
rl.setVersion("0.1.0");
|
|
36
40
|
rl.setConnectionSchema({
|
|
37
|
-
accessToken: {
|
|
38
|
-
|
|
41
|
+
accessToken: {
|
|
42
|
+
type: "string",
|
|
43
|
+
required: true,
|
|
44
|
+
description: "GoTo OAuth2 access token",
|
|
45
|
+
env: "GOTO_ACCESS_TOKEN",
|
|
46
|
+
},
|
|
47
|
+
organizerKey: {
|
|
48
|
+
type: "string",
|
|
49
|
+
required: true,
|
|
50
|
+
description: "Organizer key",
|
|
51
|
+
env: "GOTO_ORGANIZER_KEY",
|
|
52
|
+
},
|
|
39
53
|
});
|
|
40
54
|
// ── Webinar ─────────────────────────────────────────
|
|
41
55
|
rl.registerAction("webinar.create", {
|
|
42
56
|
description: "Create a webinar",
|
|
43
57
|
inputSchema: {
|
|
44
|
-
subject: {
|
|
45
|
-
|
|
46
|
-
|
|
58
|
+
subject: {
|
|
59
|
+
type: "string",
|
|
60
|
+
required: true,
|
|
61
|
+
description: "Webinar subject",
|
|
62
|
+
},
|
|
63
|
+
times: {
|
|
64
|
+
type: "array",
|
|
65
|
+
required: true,
|
|
66
|
+
description: "Array of {startTime, endTime} (ISO 8601)",
|
|
67
|
+
},
|
|
68
|
+
description: {
|
|
69
|
+
type: "string",
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Description",
|
|
72
|
+
},
|
|
47
73
|
timeZone: { type: "string", required: false, description: "Time zone" },
|
|
48
|
-
type: {
|
|
49
|
-
|
|
74
|
+
type: {
|
|
75
|
+
type: "string",
|
|
76
|
+
required: false,
|
|
77
|
+
description: "single_session, series, sequence",
|
|
78
|
+
},
|
|
79
|
+
isPasswordProtected: {
|
|
80
|
+
type: "boolean",
|
|
81
|
+
required: false,
|
|
82
|
+
description: "Require password",
|
|
83
|
+
},
|
|
50
84
|
},
|
|
51
85
|
async execute(input, ctx) {
|
|
52
|
-
const { subject, times, description: desc, timeZone, type, isPasswordProtected } = input;
|
|
86
|
+
const { subject, times, description: desc, timeZone, type, isPasswordProtected, } = input;
|
|
53
87
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
54
88
|
const body = { subject, times };
|
|
55
89
|
if (desc)
|
|
@@ -65,7 +99,13 @@ export default function gotowebinar(rl) {
|
|
|
65
99
|
});
|
|
66
100
|
rl.registerAction("webinar.get", {
|
|
67
101
|
description: "Get a webinar",
|
|
68
|
-
inputSchema: {
|
|
102
|
+
inputSchema: {
|
|
103
|
+
webinarKey: {
|
|
104
|
+
type: "string",
|
|
105
|
+
required: true,
|
|
106
|
+
description: "Webinar key",
|
|
107
|
+
},
|
|
108
|
+
},
|
|
69
109
|
async execute(input, ctx) {
|
|
70
110
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
71
111
|
return apiRequest(accessToken, "GET", `organizers/${organizerKey}/webinars/${input.webinarKey}`);
|
|
@@ -73,7 +113,9 @@ export default function gotowebinar(rl) {
|
|
|
73
113
|
});
|
|
74
114
|
rl.registerAction("webinar.list", {
|
|
75
115
|
description: "List webinars",
|
|
76
|
-
inputSchema: {
|
|
116
|
+
inputSchema: {
|
|
117
|
+
limit: { type: "number", required: false, description: "Max results" },
|
|
118
|
+
},
|
|
77
119
|
async execute(input, ctx) {
|
|
78
120
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
79
121
|
const data = (await apiRequest(accessToken, "GET", `organizers/${organizerKey}/webinars`));
|
|
@@ -86,14 +128,26 @@ export default function gotowebinar(rl) {
|
|
|
86
128
|
rl.registerAction("webinar.update", {
|
|
87
129
|
description: "Update a webinar",
|
|
88
130
|
inputSchema: {
|
|
89
|
-
webinarKey: {
|
|
131
|
+
webinarKey: {
|
|
132
|
+
type: "string",
|
|
133
|
+
required: true,
|
|
134
|
+
description: "Webinar key",
|
|
135
|
+
},
|
|
90
136
|
subject: { type: "string", required: false, description: "New subject" },
|
|
91
|
-
description: {
|
|
137
|
+
description: {
|
|
138
|
+
type: "string",
|
|
139
|
+
required: false,
|
|
140
|
+
description: "New description",
|
|
141
|
+
},
|
|
92
142
|
times: { type: "array", required: false, description: "New times" },
|
|
93
|
-
timeZone: {
|
|
143
|
+
timeZone: {
|
|
144
|
+
type: "string",
|
|
145
|
+
required: false,
|
|
146
|
+
description: "New time zone",
|
|
147
|
+
},
|
|
94
148
|
},
|
|
95
149
|
async execute(input, ctx) {
|
|
96
|
-
const { webinarKey, subject, description: desc, times, timeZone } = input;
|
|
150
|
+
const { webinarKey, subject, description: desc, times, timeZone, } = input;
|
|
97
151
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
98
152
|
const body = {};
|
|
99
153
|
if (subject)
|
|
@@ -110,8 +164,16 @@ export default function gotowebinar(rl) {
|
|
|
110
164
|
rl.registerAction("webinar.delete", {
|
|
111
165
|
description: "Delete a webinar",
|
|
112
166
|
inputSchema: {
|
|
113
|
-
webinarKey: {
|
|
114
|
-
|
|
167
|
+
webinarKey: {
|
|
168
|
+
type: "string",
|
|
169
|
+
required: true,
|
|
170
|
+
description: "Webinar key",
|
|
171
|
+
},
|
|
172
|
+
sendCancellationEmails: {
|
|
173
|
+
type: "boolean",
|
|
174
|
+
required: false,
|
|
175
|
+
description: "Send cancellation emails",
|
|
176
|
+
},
|
|
115
177
|
},
|
|
116
178
|
async execute(input, ctx) {
|
|
117
179
|
const { webinarKey, sendCancellationEmails } = input;
|
|
@@ -127,7 +189,11 @@ export default function gotowebinar(rl) {
|
|
|
127
189
|
rl.registerAction("registrant.create", {
|
|
128
190
|
description: "Register a person for a webinar",
|
|
129
191
|
inputSchema: {
|
|
130
|
-
webinarKey: {
|
|
192
|
+
webinarKey: {
|
|
193
|
+
type: "string",
|
|
194
|
+
required: true,
|
|
195
|
+
description: "Webinar key",
|
|
196
|
+
},
|
|
131
197
|
firstName: { type: "string", required: true, description: "First name" },
|
|
132
198
|
lastName: { type: "string", required: true, description: "Last name" },
|
|
133
199
|
email: { type: "string", required: true, description: "Email" },
|
|
@@ -141,8 +207,16 @@ export default function gotowebinar(rl) {
|
|
|
141
207
|
rl.registerAction("registrant.get", {
|
|
142
208
|
description: "Get a registrant",
|
|
143
209
|
inputSchema: {
|
|
144
|
-
webinarKey: {
|
|
145
|
-
|
|
210
|
+
webinarKey: {
|
|
211
|
+
type: "string",
|
|
212
|
+
required: true,
|
|
213
|
+
description: "Webinar key",
|
|
214
|
+
},
|
|
215
|
+
registrantKey: {
|
|
216
|
+
type: "string",
|
|
217
|
+
required: true,
|
|
218
|
+
description: "Registrant key",
|
|
219
|
+
},
|
|
146
220
|
},
|
|
147
221
|
async execute(input, ctx) {
|
|
148
222
|
const { webinarKey, registrantKey } = input;
|
|
@@ -152,7 +226,13 @@ export default function gotowebinar(rl) {
|
|
|
152
226
|
});
|
|
153
227
|
rl.registerAction("registrant.list", {
|
|
154
228
|
description: "List registrants for a webinar",
|
|
155
|
-
inputSchema: {
|
|
229
|
+
inputSchema: {
|
|
230
|
+
webinarKey: {
|
|
231
|
+
type: "string",
|
|
232
|
+
required: true,
|
|
233
|
+
description: "Webinar key",
|
|
234
|
+
},
|
|
235
|
+
},
|
|
156
236
|
async execute(input, ctx) {
|
|
157
237
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
158
238
|
return apiRequest(accessToken, "GET", `organizers/${organizerKey}/webinars/${input.webinarKey}/registrants`);
|
|
@@ -161,8 +241,16 @@ export default function gotowebinar(rl) {
|
|
|
161
241
|
rl.registerAction("registrant.delete", {
|
|
162
242
|
description: "Delete a registrant",
|
|
163
243
|
inputSchema: {
|
|
164
|
-
webinarKey: {
|
|
165
|
-
|
|
244
|
+
webinarKey: {
|
|
245
|
+
type: "string",
|
|
246
|
+
required: true,
|
|
247
|
+
description: "Webinar key",
|
|
248
|
+
},
|
|
249
|
+
registrantKey: {
|
|
250
|
+
type: "string",
|
|
251
|
+
required: true,
|
|
252
|
+
description: "Registrant key",
|
|
253
|
+
},
|
|
166
254
|
},
|
|
167
255
|
async execute(input, ctx) {
|
|
168
256
|
const { webinarKey, registrantKey } = input;
|
|
@@ -175,8 +263,16 @@ export default function gotowebinar(rl) {
|
|
|
175
263
|
rl.registerAction("session.get", {
|
|
176
264
|
description: "Get a session",
|
|
177
265
|
inputSchema: {
|
|
178
|
-
webinarKey: {
|
|
179
|
-
|
|
266
|
+
webinarKey: {
|
|
267
|
+
type: "string",
|
|
268
|
+
required: true,
|
|
269
|
+
description: "Webinar key",
|
|
270
|
+
},
|
|
271
|
+
sessionKey: {
|
|
272
|
+
type: "string",
|
|
273
|
+
required: true,
|
|
274
|
+
description: "Session key",
|
|
275
|
+
},
|
|
180
276
|
},
|
|
181
277
|
async execute(input, ctx) {
|
|
182
278
|
const { webinarKey, sessionKey } = input;
|
|
@@ -186,7 +282,13 @@ export default function gotowebinar(rl) {
|
|
|
186
282
|
});
|
|
187
283
|
rl.registerAction("session.list", {
|
|
188
284
|
description: "List sessions for a webinar",
|
|
189
|
-
inputSchema: {
|
|
285
|
+
inputSchema: {
|
|
286
|
+
webinarKey: {
|
|
287
|
+
type: "string",
|
|
288
|
+
required: true,
|
|
289
|
+
description: "Webinar key",
|
|
290
|
+
},
|
|
291
|
+
},
|
|
190
292
|
async execute(input, ctx) {
|
|
191
293
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
192
294
|
return apiRequest(accessToken, "GET", `organizers/${organizerKey}/webinars/${input.webinarKey}/sessions`);
|
|
@@ -195,8 +297,16 @@ export default function gotowebinar(rl) {
|
|
|
195
297
|
rl.registerAction("session.getPerformance", {
|
|
196
298
|
description: "Get session performance details",
|
|
197
299
|
inputSchema: {
|
|
198
|
-
webinarKey: {
|
|
199
|
-
|
|
300
|
+
webinarKey: {
|
|
301
|
+
type: "string",
|
|
302
|
+
required: true,
|
|
303
|
+
description: "Webinar key",
|
|
304
|
+
},
|
|
305
|
+
sessionKey: {
|
|
306
|
+
type: "string",
|
|
307
|
+
required: true,
|
|
308
|
+
description: "Session key",
|
|
309
|
+
},
|
|
200
310
|
},
|
|
201
311
|
async execute(input, ctx) {
|
|
202
312
|
const { webinarKey, sessionKey } = input;
|
|
@@ -208,9 +318,21 @@ export default function gotowebinar(rl) {
|
|
|
208
318
|
rl.registerAction("attendee.get", {
|
|
209
319
|
description: "Get an attendee",
|
|
210
320
|
inputSchema: {
|
|
211
|
-
webinarKey: {
|
|
212
|
-
|
|
213
|
-
|
|
321
|
+
webinarKey: {
|
|
322
|
+
type: "string",
|
|
323
|
+
required: true,
|
|
324
|
+
description: "Webinar key",
|
|
325
|
+
},
|
|
326
|
+
sessionKey: {
|
|
327
|
+
type: "string",
|
|
328
|
+
required: true,
|
|
329
|
+
description: "Session key",
|
|
330
|
+
},
|
|
331
|
+
registrantKey: {
|
|
332
|
+
type: "string",
|
|
333
|
+
required: true,
|
|
334
|
+
description: "Registrant key",
|
|
335
|
+
},
|
|
214
336
|
},
|
|
215
337
|
async execute(input, ctx) {
|
|
216
338
|
const { webinarKey, sessionKey, registrantKey } = input;
|
|
@@ -221,8 +343,16 @@ export default function gotowebinar(rl) {
|
|
|
221
343
|
rl.registerAction("attendee.list", {
|
|
222
344
|
description: "List attendees for a session",
|
|
223
345
|
inputSchema: {
|
|
224
|
-
webinarKey: {
|
|
225
|
-
|
|
346
|
+
webinarKey: {
|
|
347
|
+
type: "string",
|
|
348
|
+
required: true,
|
|
349
|
+
description: "Webinar key",
|
|
350
|
+
},
|
|
351
|
+
sessionKey: {
|
|
352
|
+
type: "string",
|
|
353
|
+
required: true,
|
|
354
|
+
description: "Session key",
|
|
355
|
+
},
|
|
226
356
|
},
|
|
227
357
|
async execute(input, ctx) {
|
|
228
358
|
const { webinarKey, sessionKey } = input;
|
|
@@ -234,14 +364,34 @@ export default function gotowebinar(rl) {
|
|
|
234
364
|
rl.registerAction("coorganizer.create", {
|
|
235
365
|
description: "Add a co-organizer to a webinar",
|
|
236
366
|
inputSchema: {
|
|
237
|
-
webinarKey: {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
367
|
+
webinarKey: {
|
|
368
|
+
type: "string",
|
|
369
|
+
required: true,
|
|
370
|
+
description: "Webinar key",
|
|
371
|
+
},
|
|
372
|
+
external: {
|
|
373
|
+
type: "boolean",
|
|
374
|
+
required: true,
|
|
375
|
+
description: "true for external, false for internal",
|
|
376
|
+
},
|
|
377
|
+
organizerKey: {
|
|
378
|
+
type: "string",
|
|
379
|
+
required: false,
|
|
380
|
+
description: "Organizer key (internal)",
|
|
381
|
+
},
|
|
382
|
+
givenName: {
|
|
383
|
+
type: "string",
|
|
384
|
+
required: false,
|
|
385
|
+
description: "First name (external)",
|
|
386
|
+
},
|
|
387
|
+
email: {
|
|
388
|
+
type: "string",
|
|
389
|
+
required: false,
|
|
390
|
+
description: "Email (external)",
|
|
391
|
+
},
|
|
242
392
|
},
|
|
243
393
|
async execute(input, ctx) {
|
|
244
|
-
const { webinarKey, external, organizerKey: coorgKey, givenName, email } = input;
|
|
394
|
+
const { webinarKey, external, organizerKey: coorgKey, givenName, email, } = input;
|
|
245
395
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
246
396
|
const body = { external };
|
|
247
397
|
if (coorgKey)
|
|
@@ -255,7 +405,13 @@ export default function gotowebinar(rl) {
|
|
|
255
405
|
});
|
|
256
406
|
rl.registerAction("coorganizer.list", {
|
|
257
407
|
description: "List co-organizers",
|
|
258
|
-
inputSchema: {
|
|
408
|
+
inputSchema: {
|
|
409
|
+
webinarKey: {
|
|
410
|
+
type: "string",
|
|
411
|
+
required: true,
|
|
412
|
+
description: "Webinar key",
|
|
413
|
+
},
|
|
414
|
+
},
|
|
259
415
|
async execute(input, ctx) {
|
|
260
416
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
261
417
|
return apiRequest(accessToken, "GET", `organizers/${organizerKey}/webinars/${input.webinarKey}/coorganizers`);
|
|
@@ -264,9 +420,21 @@ export default function gotowebinar(rl) {
|
|
|
264
420
|
rl.registerAction("coorganizer.delete", {
|
|
265
421
|
description: "Remove a co-organizer",
|
|
266
422
|
inputSchema: {
|
|
267
|
-
webinarKey: {
|
|
268
|
-
|
|
269
|
-
|
|
423
|
+
webinarKey: {
|
|
424
|
+
type: "string",
|
|
425
|
+
required: true,
|
|
426
|
+
description: "Webinar key",
|
|
427
|
+
},
|
|
428
|
+
coorganizerKey: {
|
|
429
|
+
type: "string",
|
|
430
|
+
required: true,
|
|
431
|
+
description: "Co-organizer key",
|
|
432
|
+
},
|
|
433
|
+
external: {
|
|
434
|
+
type: "boolean",
|
|
435
|
+
required: false,
|
|
436
|
+
description: "Whether external",
|
|
437
|
+
},
|
|
270
438
|
},
|
|
271
439
|
async execute(input, ctx) {
|
|
272
440
|
const { webinarKey, coorganizerKey, external } = input;
|
|
@@ -282,7 +450,11 @@ export default function gotowebinar(rl) {
|
|
|
282
450
|
rl.registerAction("panelist.create", {
|
|
283
451
|
description: "Add a panelist to a webinar",
|
|
284
452
|
inputSchema: {
|
|
285
|
-
webinarKey: {
|
|
453
|
+
webinarKey: {
|
|
454
|
+
type: "string",
|
|
455
|
+
required: true,
|
|
456
|
+
description: "Webinar key",
|
|
457
|
+
},
|
|
286
458
|
name: { type: "string", required: true, description: "Panelist name" },
|
|
287
459
|
email: { type: "string", required: true, description: "Panelist email" },
|
|
288
460
|
},
|
|
@@ -294,7 +466,13 @@ export default function gotowebinar(rl) {
|
|
|
294
466
|
});
|
|
295
467
|
rl.registerAction("panelist.list", {
|
|
296
468
|
description: "List panelists",
|
|
297
|
-
inputSchema: {
|
|
469
|
+
inputSchema: {
|
|
470
|
+
webinarKey: {
|
|
471
|
+
type: "string",
|
|
472
|
+
required: true,
|
|
473
|
+
description: "Webinar key",
|
|
474
|
+
},
|
|
475
|
+
},
|
|
298
476
|
async execute(input, ctx) {
|
|
299
477
|
const { accessToken, organizerKey } = getConn(ctx);
|
|
300
478
|
return apiRequest(accessToken, "GET", `organizers/${organizerKey}/webinars/${input.webinarKey}/panelists`);
|
|
@@ -303,8 +481,16 @@ export default function gotowebinar(rl) {
|
|
|
303
481
|
rl.registerAction("panelist.delete", {
|
|
304
482
|
description: "Remove a panelist",
|
|
305
483
|
inputSchema: {
|
|
306
|
-
webinarKey: {
|
|
307
|
-
|
|
484
|
+
webinarKey: {
|
|
485
|
+
type: "string",
|
|
486
|
+
required: true,
|
|
487
|
+
description: "Webinar key",
|
|
488
|
+
},
|
|
489
|
+
panelistKey: {
|
|
490
|
+
type: "string",
|
|
491
|
+
required: true,
|
|
492
|
+
description: "Panelist key",
|
|
493
|
+
},
|
|
308
494
|
},
|
|
309
495
|
async execute(input, ctx) {
|
|
310
496
|
const { webinarKey, panelistKey } = input;
|