Webhooks GAS Script
This commit is contained in:
188
CustomerNotes.md
188
CustomerNotes.md
@ -22,6 +22,24 @@ Integrations are generally phase 2, but are any necessary from day 1?
|
||||
What is a deal breaker if we don't deliver? (if you can't support SSO, I won't sign, vs start with os and then move to SSO)
|
||||
What is required for launch?
|
||||
|
||||
## Meeting with StateServ re: PowerBI Integration
|
||||
- Daniel is the owner/founder of StateServ
|
||||
- Mostly compliance training housed in NP
|
||||
- Cecilia and Daniel work with direct services part of the company
|
||||
- Want to build courses for CS employees, medical techs
|
||||
- This division takes up 80% of the company
|
||||
- Working with director of DBI
|
||||
- Not just Northpass is expanding, everything is growing
|
||||
- Daniel started in 2019
|
||||
- They were serving 15k patients, as of 7/1 over 30k
|
||||
- Integrated 4 other businesses in the division
|
||||
- Original division of company is saas/software company
|
||||
|
||||
Goal of this project:
|
||||
* Provide on demand learning for new hires, continued training, assesments
|
||||
* Cecilia creating master question banks
|
||||
*
|
||||
*
|
||||
|
||||
# JJSV
|
||||
|
||||
@ -56,7 +74,14 @@ What is required for launch?
|
||||
Events should be figured out by our demo -
|
||||
* [ ] Add featured content spotlight box that moves the 4 boxes down
|
||||
* [ ] Can we showcase videos on the main page with a little modal?
|
||||
* [ ]
|
||||
* [ ] Add all groups as per Kaitlyn's info
|
||||
* [ ] Wants to start putting in content by the 15th August.
|
||||
* [ ] Create and send document for Melinda's instructions to add categories.
|
||||
|
||||
In person events should change register button to "remind me"
|
||||
Melinda will then add the 3rd party links into the event description
|
||||
Figure out events setup
|
||||
|
||||
|
||||
|
||||
### Notes
|
||||
@ -191,8 +216,8 @@ Thinks the user experience isnt the best, espeically as it relates to SCORM
|
||||
Conflicting table of contents with SCORM files
|
||||
Both have Continue buttons at the bottom of the screen which is confusing
|
||||
They refuse to put in milestones for some reason
|
||||
- [ ] How can we provide the smoothest SCORM format and experience?
|
||||
- [ ] Send him best practices for SCORM files
|
||||
- [X] How can we provide the smoothest SCORM format and experience?
|
||||
- [X] Send him best practices for SCORM files
|
||||
|
||||
Shot down my questions about what HIS ideal SCORM experience is.
|
||||
What settings need to be set to export and allow auto-full screen in SCORM?
|
||||
@ -204,8 +229,8 @@ And a microlearning approach
|
||||
From a learner's perspective, if he's authenticated as himself, how can we serve up perscriptive learning?
|
||||
|
||||
Other things to share:
|
||||
- [ ] Screenshots of other academies
|
||||
- [ ] Vidyard
|
||||
- [X] Screenshots of other academies
|
||||
- [X] Vidyard
|
||||
|
||||
Send best practices
|
||||
Examples - vineyard recordings
|
||||
@ -216,7 +241,30 @@ New browser window -
|
||||
They cannot check if they actually completed the SCORM package or not
|
||||
How to check in analytics
|
||||
He wants to add timeframe for when they have to complete next training?
|
||||
Quizzes - how can we take out SCORM data?
|
||||
Quizzes - how can we take out SCORM data
|
||||
|
||||
## Siying Mark SCORM Asks
|
||||
Embedding Questions regarding SCORM files
|
||||
- They want to see what quick solutions there are to adding a RISE course in Northpass
|
||||
- Want to start creating those courses in RISE
|
||||
- Per Course Settings (such as full screen)
|
||||
|
||||
* What are their needs?
|
||||
- For a RISE course, once they hit start, auto-full screen
|
||||
- No Northpass TOC
|
||||
- Only make Continue Button once a certain percentage completion happens
|
||||
- Hide any milestone messaging
|
||||
- Complete/Incomplete,
|
||||
- Optimal experience is:
|
||||
- Once Rise Starts, All NP controls hide
|
||||
- once they complete the SCORM file, continue is hit auto, or auto end of course screen
|
||||
- They won't be using quizzes consistently
|
||||
- CLick here to end course should go back to main dashboard
|
||||
- SCORM Analytic is no longer there for Siying
|
||||
|
||||
* Question from Mark
|
||||
- .corp and .com issues with Okta
|
||||
-
|
||||
|
||||
## Siying regarding Mark & Temperature Check
|
||||
- Big Focus is scalability
|
||||
@ -702,19 +750,67 @@ Can we setup a login of button groups?
|
||||
Course Scripts : a need/vision, they want to read transcript of courses
|
||||
Can we add duration on course card within LP overview page?
|
||||
|
||||
Events are a new push
|
||||
- Talks from Hub Managers
|
||||
- Already fruitful for netherlands
|
||||
- Will be used by other markets
|
||||
- Main district (Germany) were not involved in the events originally, and now they will be aligning on strategy
|
||||
-
|
||||
|
||||
Analytics, need hub based metrics to give to the managers
|
||||
|
||||
Soner - one of the priorities are the reports he asked for
|
||||
** Quiz hiding the score: **
|
||||
- If it is too hard, don't worry
|
||||
- This is a one-time case
|
||||
- Not super high priorty
|
||||
- Doesn't make sense to push for this right now
|
||||
|
||||
Front end layout - let them know what is possible
|
||||
Next steps is categories, groups, and labels
|
||||
They need to clean these labels, make them easier to understand
|
||||
Filter by certain category labels i.e Marketing courses, etc
|
||||
|
||||
HM = Hub Manager
|
||||
IA = Inventory Associate
|
||||
|
||||
Hub manager should any analytical view of the rest of the countries roles, aka they should be a manager in Northpass
|
||||
From a learning perspective, there are no sub groups, HMs dont take Shift Lead Courses
|
||||
|
||||
They should then filter by
|
||||
Two main labels for learning, Market Label & Language Label
|
||||
They need it to be cleaner for the backend
|
||||
People should be able to see multiple languages
|
||||
|
||||
There are multiple flows - HQ Cascade Content & HQ Diverse Content
|
||||
Soner's suggestion, Each course is a contact in your phone and then you add different fields, so must have is just a label or category or ribbon
|
||||
The most important thing is a clean view to see what their first/must complete courses are
|
||||
All courses exist within this Matrix of circle courses
|
||||
Eventually, they want hub managers to have a clean view of their employees, aka their hub
|
||||
SAP is the goal for single source of truth for data
|
||||
Zapier, Quinyx, BambooHR,
|
||||
Okta is coming for SSO for access
|
||||
|
||||
_Overall Deadline_
|
||||
Everything before Q4, SSO, Frontend
|
||||
Context, they want to have everything setup in Northpass by Q4 because they are working on sustainability titles and their launch can be really clean in Q4.
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] Need to Hide some courses for an offline assesment
|
||||
- [ ] In person assesment, so score must be hidden - pending not resolved
|
||||
- [ ] contact SE for hiding score - 7 quizzes across 7 different courses
|
||||
- [ ] Turn on search bar for them
|
||||
- [ ] Demo Workflows
|
||||
- [-] In person assesment, so score must be hidden - pending not resolved
|
||||
- [-] contact SE for hiding score - 7 quizzes across 7 different courses
|
||||
- [X] Turn on search bar for them
|
||||
- [X] Demo Workflows
|
||||
- [ ] Quiz as Survey functionality and best practices
|
||||
- [ ] Milestones?
|
||||
- [X] Milestones?
|
||||
- [ ] Intro to Marek for Communications Beta
|
||||
- [ ] Map out workflow for duplicate or changing email addresses
|
||||
- [ ] Intro to Clementine and Simon
|
||||
- [X] Map out workflow for duplicate or changing email addresses
|
||||
- [X] Intro to Clementine and Simon
|
||||
- [ ] Intro to KJ for Analytics changes?
|
||||
- [ ] ILTs are the most important from Netherlands meeting
|
||||
- [ ] Map their categories presentation to Northpass best practices
|
||||
- [ ]
|
||||
|
||||
### Notes
|
||||
|
||||
@ -981,9 +1077,10 @@ Flow:
|
||||
Each district could be 2 people or 30 people
|
||||
Are they enabling their distcits to forward the emails along?
|
||||
|
||||
|
||||
Suggestions:
|
||||
o
|
||||
## Tasks
|
||||
* [ ] /app/course, change text to: "Courses | Great Courses from the comfort of your home or classroom."
|
||||
* [ ] Add personalized message to /app.
|
||||
* [ ]
|
||||
|
||||
# Hello Insights
|
||||
Paula is main POC
|
||||
@ -1056,6 +1153,24 @@ Questions from Andres:
|
||||
- Mapping the content in the experience? Similar to Skuid Experience
|
||||
- [ ] Send webSDKs, embed, webhook, and documentation
|
||||
|
||||
## Content And Creation
|
||||
* [ ] They want a recommendation engine
|
||||
* [ ] Search bar is important to show first
|
||||
* [ ] They want a saving mechanism - under your courses, there would be a "saved" option
|
||||
|
||||
After onboarding experience, they will likely not enroll everyone into course. So enrolled would be the same as saved
|
||||
They also want "time left" in the page (not really possible)
|
||||
|
||||
List of recommended courses - could this be categories?
|
||||
|
||||
Modality - information architecture of courses
|
||||
- Live, On-Demand, Mixed (or Blended)
|
||||
- Schedule, Timedate, Timezone
|
||||
- Some clients request a live learning opportunity
|
||||
- Phase 1 - back burner
|
||||
Availability (Blocked, Active, Full/Invisible) should also be part of the course struture
|
||||
Pre-Requisites
|
||||
|
||||
|
||||
# AIIM
|
||||
Workflows Demo
|
||||
@ -1086,3 +1201,44 @@ Skuid Progress Bar disappeared, needs to be completed by October
|
||||
|
||||
Directly from janel:
|
||||
How can we dynamically associate learning paths or "next course" based in learning path. They don't want to create an individual course per group per learning path to have
|
||||
|
||||
# Scenario
|
||||
* New order of cards:
|
||||
* Scenario Basics
|
||||
* Core Concepts
|
||||
* Bulk Upload
|
||||
* Leave Navigation & the last one
|
||||
* LX Changes
|
||||
* Make the viewer wider to fill screen
|
||||
* Mobile optimization is less important
|
||||
* Most clients will be on a computer
|
||||
* Wistia and Quality?
|
||||
* Would prefer higher quality even if it loads slower
|
||||
* Most likely learners will have high speed internet, they want higher quality
|
||||
* Banner
|
||||
* Dashboard & Events header text is lower than Home
|
||||
* Home is how it should look
|
||||
* URL: academy.scenariocloud.com
|
||||
*
|
||||
|
||||
# H1
|
||||
|
||||
- Open Access might solve some of their issues
|
||||
- Reconsidering their relationship with Okta
|
||||
- Okta tripled their cost and doubled the per person cost
|
||||
- Okta authenticates their entire application and for internal use
|
||||
- This change will be the most pressing for when they decide
|
||||
- Should be decided on within 6 weeks
|
||||
- CSM team uses Catalyst
|
||||
- Sales team uses Salesforce
|
||||
|
||||
* Haven't really used Northpass reporting
|
||||
* They contractually provide a training system
|
||||
* They need to figure out how to get the right training to the right people at the right time
|
||||
* Smaller clients get 1 in person training, the rest via Northpass
|
||||
* QBR show utilization or change - increase enrollments and actually starting the course
|
||||
* They need to track if no one is logging in and how to reach out
|
||||
|
||||
Within a month Marceline will have some additional information and it seems like good news for her (a promotion?)
|
||||
|
||||
Next meeting: September 2, 2022
|
||||
|
||||
47
Google_Scripts/WCAWebhooks.gs
Normal file
47
Google_Scripts/WCAWebhooks.gs
Normal file
@ -0,0 +1,47 @@
|
||||
function doGet(e) {
|
||||
return HtmlService.createHtmlOutput("get request received");
|
||||
}
|
||||
|
||||
//this is a function that fires when the webapp receives a POST request
|
||||
function doPost(e) {
|
||||
var params = JSON.stringify(e.postData.contents);
|
||||
params = JSON.parse(params);
|
||||
var now = new Date();
|
||||
var timeAdded = Utilities.formatDate(now,'America/New_York','MM/dd/yyyy');
|
||||
|
||||
var learnerName = params.substring(params.indexOf('{"name":"') + 7, params.lastIndexOf('"email"'));
|
||||
learnerName = learnerName.slice(learnerName.indexOf('"') + 1, learnerName.lastIndexOf('"'),);
|
||||
Logger.log("Name = " + learnerName);
|
||||
|
||||
var learnerEmail = params.substring(params.indexOf('"email":"') + 9, params.lastIndexOf('"full_name"'));
|
||||
learnerEmail = learnerEmail.slice(learnerName.indexOf('"') + 1, learnerEmail.lastIndexOf('"'),);
|
||||
Logger.log("Email = " + learnerEmail);
|
||||
|
||||
var courseName = params.substring(params.indexOf('"course_name":"') + 4, params.lastIndexOf('"attributes"'));
|
||||
courseName = courseName.slice(courseName.indexOf('"') + 3, courseName.lastIndexOf('"'),);
|
||||
Logger.log("Course = " + courseName);
|
||||
|
||||
var activityName = params.substring(params.indexOf('"title":"') + 4, params.lastIndexOf('"course_name"'));
|
||||
activityName = activityName.slice(activityName.indexOf('"') + 3, activityName.lastIndexOf('"'),);
|
||||
Logger.log("Activity = " + activityName);
|
||||
|
||||
var dateCompleted = params.substring(params.indexOf('"updated_at":"') + 4, params.lastIndexOf('"activated_at"'));
|
||||
dateCompleted = dateCompleted.slice(dateCompleted.indexOf('"') + 3, dateCompleted.lastIndexOf('"'),);
|
||||
Logger.log("Completed on = " + dateCompleted);
|
||||
|
||||
var sheet = SpreadsheetApp.getActiveSheet();
|
||||
var lastRow = Math.max(sheet.getLastRow(),1);
|
||||
|
||||
sheet.insertRowAfter(lastRow);
|
||||
sheet.getRange(lastRow + 1, 1).setValue(timeAdded);
|
||||
sheet.getRange(lastRow + 1, 2).setValue(params);
|
||||
sheet.getRange(lastRow + 1, 3).setValue(learnerName);
|
||||
sheet.getRange(lastRow + 1, 4).setValue(learnerEmail);
|
||||
sheet.getRange(lastRow + 1, 5).setValue(courseName);
|
||||
sheet.getRange(lastRow + 1, 6).setValue(activityName);
|
||||
sheet.getRange(lastRow + 1, 7).setValue(dateCompleted);
|
||||
|
||||
|
||||
SpreadsheetApp.flush();
|
||||
return HtmlService.createHtmlOutput("post request received");
|
||||
}
|
||||
Reference in New Issue
Block a user