Webhooks GAS Script

This commit is contained in:
Norm Rasmussen
2022-08-04 20:54:12 -04:00
parent 8d597c678a
commit 4d205d7699
2 changed files with 219 additions and 16 deletions

View File

@ -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

View 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");
}