Talkspace Custom Report

This commit is contained in:
Norm Rasmussen
2023-01-06 16:38:00 -05:00
parent 26610f8ae0
commit f7708aa885
7 changed files with 157 additions and 45 deletions

View File

@ -1,53 +1,73 @@
# 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
- 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
- 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
- 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
Data that's important:
* Quantitive is important, but not wholly
* Monthly avg users - if it decreases by 15%, bumps down to amber
* Only way the can talk out of that is Europeans on vacation
* Real reasons
* Logging in every 30 days
* Utilization health, stakeholder health, Monthly Usage
* Don't want to be single threaded
* "Get well plan"
* Are you creating successful relationships with others in the org
* CS Analyst that pulls platform analytics per clients
* Utilization over the last 12 months in multiple graphs
* Requirement: first week of the month to download and send it to client and open door for conversation
* H1 uses full story, but some metrics are incomplete
* Ad blockers dont work with full story
* Look for trends in data and utilization
* Are ppl using a specific search more than others
* Favorite trick - ask for time on a team meeting
* Aggregate Support Article metrics
* Divide stakeholder relatinoships -
* Tech team
* Neuro team
* Imp owns Tech relationship
* CS owns user relationships
* AM owns revenue relationship
* Implementation & Delivery team
* Imp manager is client facing
* Delivery is not client facing. Internally project focused
* The best CSM doesn't always make the client happy
* The best CSM keeps the client on track and within boundaries
*
- Quantitive is important, but not wholly
- Monthly avg users - if it decreases by 15%, bumps down to amber
- Only way the can talk out of that is Europeans on vacation
- Real reasons
- Logging in every 30 days
- Utilization health, stakeholder health, Monthly Usage
- Don't want to be single threaded
- "Get well plan"
- Are you creating successful relationships with others in the org
- CS Analyst that pulls platform analytics per clients
- Utilization over the last 12 months in multiple graphs
- Requirement: first week of the month to download and send it to client and open door for conversation
- H1 uses full story, but some metrics are incomplete
- Ad blockers dont work with full story
- Look for trends in data and utilization
- Are ppl using a specific search more than others
- Favorite trick - ask for time on a team meeting
- Aggregate Support Article metrics
- Divide stakeholder relatinoships -
- Tech team
- Neuro team
- Imp owns Tech relationship
- CS owns user relationships
- AM owns revenue relationship
- Implementation & Delivery team
- Imp manager is client facing
- Delivery is not client facing. Internally project focused
- The best CSM doesn't always make the client happy
- The best CSM keeps the client on track and within boundaries
## 01/06/2023
### Off-boarding Info
A lot of hand off
Metrics weren't great - happy about the new analytics/beta, but it wasn't communicated well.
Ashlee's main POC was Paula.
Analytics Feedback:
I just want to know emails and who has finished the course. It wasn't a single button.
The naming conventions weren't clear.
Unclear what filters did what.
Really liked Kaitlyn
Analytics weren't intuitive for someone net new coming to Northpass.
The main thing is northpass fell into the "nice-to-have".
Metrics Records for H1:
- Raw Data Dump
- Support Team Training & Download

View File

@ -142,7 +142,7 @@ Two other items from Alexa:
Survey and Exam Tools are what they are looking at.
All SCORM vendors like Captivate/Articulate Rise have hot spot.
* Hot spot is the main type of question they want.
* Hot spot is the main type of question they want.
They want to ask questions like "which option".
She wants to be integrated into Northpass, like passing scores and milestones.

View File

@ -275,5 +275,9 @@ Feedback mock up:
Is it easier to go to legal with visual stuff instead of just ideas.
Krystal: Content wise, the big push for new resources is happening right now for the end of the month.
Krystal will need Cam's help to great gifs, just like we did last time. Jan 31st. Some screens are already existing, so Northpass was getting an error message.
TODO: Give Cam a heads up to look through the drafts.
TODO: Give Cam a heads up to look through the drafts.
Walmart to create course images.
Chopping it up will require a lot more work on their end. They would have to add new endings to each video.
It would be a cumbersome ask
Identify differences in versions - grammar, content, etc.
Can we get a CSV of all activity names and body content

View File

@ -1,7 +1,7 @@
import requests
import pandas as pd
csv = "/Users/normrasmussen/Downloads/ts_id_roles_test.csv"
csv = "/Users/normrasmussen/Downloads/ts_id_roles.csv"
apiKey = "18Zl2NAzWTE09FHbNEBngNOJO"
baseUrlemail = "https://api.northpass.com/v2/people?filter[email][eq]="

View File

@ -0,0 +1,11 @@
import requests
import pandas as pd
apiKey =
def getProps():
if __name__ == "__main__":
pass

View File

@ -0,0 +1,77 @@
const sheet = SpreadsheetApp.getActiveSheet();
const apiKey = '18Zl2NAzWTE09FHbNEBngNOJO';
function getUuids() {
var sheet = SpreadsheetApp.getActiveSheet();
var numRows = sheet.getLastRow()-1; // Number of rows to process
var dataRange = sheet.getRange(3, 3, numRows, 1);
var values = dataRange.getValues();
writeHeadings();
for (email in values){
var row = values[email];
var email = row[0]
var api_url = 'https://api.northpass.com/v2/people/?filter[email][eq]='+email;
const settings = {
async: true,
crossDomain: true,
method: 'GET',
headers: {
accept: 'application/json',
'X-Api-Key': apiKey
}
};
const sendMsg = UrlFetchApp.fetch(api_url, settings);
var uuidResponse = sendMsg.getContentText();
var parsedata = JSON.parse(uuidResponse);
var uuid = parsedata["data"][0]["id"];
if (email != "") {
findRow(email, uuid);
}
};
};
function findRow(email, uuid){
var sheetRow = SpreadsheetApp.getActiveSpreadsheet();
var data = sheetRow.getDataRange().getValues();
for(var i = 0; i<data.length;i++){
if(data[i][2] == email){ //[1] because column B
// Logger.log((i+1))
var row = i+1;
propstoSheet(uuid, row, email);
}
}
}
function propstoSheet(uuid, row, email) {
var uuid_url = 'https://api.northpass.com/v2/properties/people/'+uuid;
const settings = {
async: true,
crossDomain: true,
url: uuid_url,
method: 'GET',
headers: {
accept: 'application/json',
'X-Api-Key': apiKey,
}
};
const sendMsg = UrlFetchApp.fetch(uuid_url, settings);
var txtResponse = sendMsg.getContentText();
var parseProps = JSON.parse(txtResponse);
var role = parseProps["data"]["attributes"]["properties"]["role_type"];
var user_id = parseProps["data"]["attributes"]["properties"]["user_id"];
var paid = parseProps["data"]["attributes"]["properties"]["paid"];
// Write the Data to each row and column
sheet.getRange(row, 17).setValue(role);
sheet.getRange(row, 18).setValue(user_id).clearFormat();
sheet.getRange(row, 19).setValue(paid);
Logger.log(row + "," + email);
}
function writeHeadings() {
// Write the new Column Headings
sheet.getRange(1, 17).setValue("Role");
sheet.getRange(1, 18).setValue("ID Number");
sheet.getRange(1, 19).setValue("Paid?");
}