Talkspace Custom Report
This commit is contained in:
@ -2,52 +2,72 @@
|
|||||||
|
|
||||||
- Open Access might solve some of their issues
|
- Open Access might solve some of their issues
|
||||||
- Reconsidering their relationship with Okta
|
- Reconsidering their relationship with Okta
|
||||||
- Okta tripled their cost and doubled the per person cost
|
- Okta tripled their cost and doubled the per person cost
|
||||||
- Okta authenticates their entire application and for internal use
|
- Okta authenticates their entire application and for internal use
|
||||||
- This change will be the most pressing for when they decide
|
- This change will be the most pressing for when they decide
|
||||||
- Should be decided on within 6 weeks
|
- Should be decided on within 6 weeks
|
||||||
- CSM team uses Catalyst
|
- CSM team uses Catalyst
|
||||||
- Sales team uses Salesforce
|
- Sales team uses Salesforce
|
||||||
|
|
||||||
* Haven't really used Northpass reporting
|
- Haven't really used Northpass reporting
|
||||||
* They contractually provide a training system
|
- 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
|
- 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
|
- Smaller clients get 1 in person training, the rest via Northpass
|
||||||
* QBR show utilization or change - increase enrollments and actually starting the course
|
- 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
|
- 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?)
|
Within a month Marceline will have some additional information and it seems like good news for her (a promotion?)
|
||||||
|
|
||||||
Next meeting: September 2, 2022
|
Next meeting: September 2, 2022
|
||||||
|
|
||||||
Data that's important:
|
Data that's important:
|
||||||
* Quantitive is important, but not wholly
|
|
||||||
* Monthly avg users - if it decreases by 15%, bumps down to amber
|
- Quantitive is important, but not wholly
|
||||||
* Only way the can talk out of that is Europeans on vacation
|
- Monthly avg users - if it decreases by 15%, bumps down to amber
|
||||||
* Real reasons
|
- Only way the can talk out of that is Europeans on vacation
|
||||||
* Logging in every 30 days
|
- Real reasons
|
||||||
* Utilization health, stakeholder health, Monthly Usage
|
- Logging in every 30 days
|
||||||
* Don't want to be single threaded
|
- Utilization health, stakeholder health, Monthly Usage
|
||||||
* "Get well plan"
|
- Don't want to be single threaded
|
||||||
* Are you creating successful relationships with others in the org
|
- "Get well plan"
|
||||||
* CS Analyst that pulls platform analytics per clients
|
- Are you creating successful relationships with others in the org
|
||||||
* Utilization over the last 12 months in multiple graphs
|
- CS Analyst that pulls platform analytics per clients
|
||||||
* Requirement: first week of the month to download and send it to client and open door for conversation
|
- Utilization over the last 12 months in multiple graphs
|
||||||
* H1 uses full story, but some metrics are incomplete
|
- Requirement: first week of the month to download and send it to client and open door for conversation
|
||||||
* Ad blockers dont work with full story
|
- H1 uses full story, but some metrics are incomplete
|
||||||
* Look for trends in data and utilization
|
- Ad blockers dont work with full story
|
||||||
* Are ppl using a specific search more than others
|
- Look for trends in data and utilization
|
||||||
* Favorite trick - ask for time on a team meeting
|
- Are ppl using a specific search more than others
|
||||||
* Aggregate Support Article metrics
|
- Favorite trick - ask for time on a team meeting
|
||||||
* Divide stakeholder relatinoships -
|
- Aggregate Support Article metrics
|
||||||
* Tech team
|
- Divide stakeholder relatinoships -
|
||||||
* Neuro team
|
- Tech team
|
||||||
* Imp owns Tech relationship
|
- Neuro team
|
||||||
* CS owns user relationships
|
- Imp owns Tech relationship
|
||||||
* AM owns revenue relationship
|
- CS owns user relationships
|
||||||
* Implementation & Delivery team
|
- AM owns revenue relationship
|
||||||
* Imp manager is client facing
|
- Implementation & Delivery team
|
||||||
* Delivery is not client facing. Internally project focused
|
- Imp manager is client facing
|
||||||
* The best CSM doesn't always make the client happy
|
- Delivery is not client facing. Internally project focused
|
||||||
* The best CSM keeps the client on track and within boundaries
|
- 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
|
||||||
|
|||||||
@ -277,3 +277,7 @@ Krystal: Content wise, the big push for new resources is happening right now for
|
|||||||
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.
|
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.
|
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
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import requests
|
import requests
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
csv = "/Users/normrasmussen/Downloads/ts_id_roles_test.csv"
|
csv = "/Users/normrasmussen/Downloads/ts_id_roles.csv"
|
||||||
apiKey = "18Zl2NAzWTE09FHbNEBngNOJO"
|
apiKey = "18Zl2NAzWTE09FHbNEBngNOJO"
|
||||||
baseUrlemail = "https://api.northpass.com/v2/people?filter[email][eq]="
|
baseUrlemail = "https://api.northpass.com/v2/people?filter[email][eq]="
|
||||||
|
|
||||||
|
|||||||
11
Scripts/API_Tests/props_to_csv.py
Normal file
11
Scripts/API_Tests/props_to_csv.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import requests
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
apiKey =
|
||||||
|
|
||||||
|
def getProps():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
||||||
77
Scripts/API_Tests/talkspace_google_api.js
Normal file
77
Scripts/API_Tests/talkspace_google_api.js
Normal 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?");
|
||||||
|
}
|
||||||
Binary file not shown.
Reference in New Issue
Block a user