apiai-importer
CLI Tool for importing intents from a CSV file into API.ai. It will also output the Answers as a JSON file that can be imported into Mongo.
Installation
npm install -g apiai-importercd $(npm root -g)/apiai-importercp conf.json.example conf.json"${EDITOR:-vi}" conf.json#add the Subscription Key and Developer Access Token from api.ai
Usage
First, download the Intents and Entities sheets from the Google Doc, using the script below.
apiai-import -d ~/Google Drive/fafsa*\ -s 'FAFSA'
Notes
The Google Doc is the Single Source of Truth. This tool will delete all intents and entities from API.ai and regenerate them. Do not make modifications to API.ai directly - instead, change the Google Doc and reimport.
Use the -e
flag to specify the environment.
This is a public repo, please do not push the keys.
CSV Download Script
Run this script in the Google Sheets Script Editor to download all sheets to your Google Drive
{ var ss = SpreadsheetApp; var csvMenuEntries = name: "export as csv files" functionName: "saveAsCSV"; ss;}; { var ss = SpreadsheetApp; var sheets = ss; // create a folder from the name of the spreadsheet var folder = DriveApp; for var i = 0 ; i < sheetslength ; i++ var sheet = sheetsi; // append ".csv" extension to the sheet name fileName = sheet + ".csv"; // convert all available sheet data to csv format var csvFile = ; // create a file in the Docs List with the given name and the csv data folder; Browser;} { // get available data range in the spreadsheet var activeRange = sheet; try var data = activeRange; var csvFile = undefined; // loop through the data in the range and build a string with the csv data if datalength > 1 var csv = ""; for var row = 0; row < datalength; row++ for var col = 0; col < datarowlength; col++ datarowcol = "\"" + datarowcol + "\""; // join each row's columns // add a carriage return to end of each row, except for the last one if row < datalength-1 csv += datarow + "\r\n"; else csv += datarow; csvFile = csv; return csvFile; catcherr Logger; Browser; }