GoogleApp

- 1.
- 2.
- 3.
- 4.Install GoogleAppLib and WebhooksLib to your bot
- 5.


You will need to contact your Google Apps administrator, or else use a Gmail account.)
Now click Deploy. You may be asked to review permissions now. Project version - always "New".

Cloick in Deploy button. You will have Public App url.
The URL that you get will be the webhook that you need use in this Lib. You can test this webhook in your browser first by pasting it. Note that depending on your Google Apps instance, you may need to adjust the URL to make it work.
Go to App > Libs and install GoogleAppLib and WebhooksLib
/setup
// replace with your URL, obtained in step 4
Libs.GoogleApp.setUrl("https://script.google.com/macros/*******");
Use any Google App script in BJS now
function GACode(){
// Google App Script code here
// Please note: this function is runs on GA not BB
// ...
}
// BJS
Libs.GoogleApp.run({
code: GACode, // Function with Google App code
onRun: "onRun", // Optional. This command will be executed after run
email: "[email protected]" // Optional. Email for errors,
// debug: true // For debug. Default is false
});
Example for command
/task
function GACode(){
// translation from English to France
var trans = LanguageApp.translate(params, 'en', 'fr');
// make Google Calendar event
var event = CalendarApp.getDefaultCalendar()
.createEventFromDescription('Lunch with ' + user.first_name + ', Friday at 1PM');
// send Email
MailApp.sendEmail({
to: "[email protected]",
subject: "hello from bot " + bot.name,
htmlBody: "<h1>Hello!</h1>How are you?<br>" +
"We have message to bot: " + message
});
// ...
// Use all power of Google App Script!
// return result as JSON
return { event: event, trans: trans }
}
Libs.GoogleApp.run({
code: GACode,
onRun: "onRun",
// email: "[email protected]" // email for errors
// debug: true // default false
});
You can turn on debug flag with true
command
onRun
Bot.sendMessage(inspect(options))
GACode - it is isolated function with Google App code. It can not have BJS code like
Bot.sendMessage
and etc. Only GA code!let myVar = "will not works";
options.myVar = "will be works";
function GACode(){
// Google App Script code here
// Please note: this function is runs on GA not BB
// ...
myVar = 5; // Error! myVar is not defined in GA only in BB side
// this will be works:
let myVar;
myVar = 5;
Bot.sendMessage("ok") // Error! It is BJS not GA code!
let botName = bot.name; // Will be worked
let myVar = options.myVar; // Will be worked
}
You need set permissions for Google App Script
Run
Libs.GoogleApp.run()
in first time. You can have like such error:Error on Google App script: "Exception""The script does not have permission to perform that action. Required permissions: (https://www.googleapis.com/auth/calendar || https://www.googleapis.com/auth/calendar.readonly || https://www.google.com/calendar/feeds)"
If you have such error you need set access rights.
- 1.Open the script project.
- 2.At the left, click Project Settings settings.
- 3.Select the Show "appsscript.json" manifest file in editor checkbox:

At the left, click Editor code.
At the left, click the
appsscript.json
file.Locate the top-level field labeled
oauthScopes
. If it's not present, you can add it.The
oauthScopes
field specifies an array of strings. To set the scopes your project uses, replace the contents of this array with the scopes you want it to use. For example:{
"timeZone": "Asia/Tokyo",
"dependencies": {
},
"webapp": {
"access": "ANYONE_ANONYMOUS",
"executeAs": "USER_DEPLOYING"
},
"exceptionLogging": "STACKDRIVER",
"oauthScopes": ["https://www.googleapis.com/auth/script.send_mail",
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/spreadsheets"],
"runtimeVersion": "V8"
}
- 1.https://www.googleapis.com/auth/script.send_mail", "https://www.googleapis.com/auth/script.external_request - is mandatory scope
- 2.Save the manifest file using Ctrl+S or the Save file icon in the menu bar.
- 3.

Run
Libs.GoogleAppLib.run
in first time. Then:- select "debug" function on Tab
- press "Debug" button:

Google app is runs. Bot will sent execution result to you. Also you can receive email with error description.
You can use "debug" function anytime for debugging
Also you can open web app by url (see step 5) in incognito mode. And look for any errors. For example we have permission error here:

Reference - The reference documentation provided in this section describes the various Apps Script services and the Apps Script manifest file structure.
Last modified 1yr ago