From 3f647bbae7af00ff4c8740b4b612a8ecff5c7217 Mon Sep 17 00:00:00 2001 From: Norm Rasmussen Date: Tue, 20 Dec 2022 17:23:23 -0500 Subject: [PATCH] Skuid Scripts --- CustomerNotes/Aiim.md | 78 ++++++++++++------ CustomerNotes/JJSV.md | 12 +-- CustomerNotes/Talkspace.md | 2 + CustomerNotes/Wildhealth.md | 2 +- Scripts/API_Tests/addtogroup_fromcsv.py | 74 +++++++++++++++++ Timetagger/_timetagger/users/norm~bm9ybQ==.db | Bin 266240 -> 270336 bytes 6 files changed, 134 insertions(+), 34 deletions(-) create mode 100644 Scripts/API_Tests/addtogroup_fromcsv.py diff --git a/CustomerNotes/Aiim.md b/CustomerNotes/Aiim.md index e56d375e..676f6a5d 100644 --- a/CustomerNotes/Aiim.md +++ b/CustomerNotes/Aiim.md @@ -1,39 +1,63 @@ # AIIM + Workflows Demo ## 10/11/2022 -* The user recieving the communications is an ex-employee and that should say it all + +* The user receiving the communications is an ex-employee and that should say it all * They are okay with losing the subscription of that person -* Wants to explore workflows -* Launched their course with the password protected proctored test -* Quiz has 120 min timer, same with Proctor-U settings -* No failures is a good thing, they want everyone to pass -* Is thinking about integrating Zapier, Shopify, and Northpass. Learner's have to pay for a retake. -* Using Accredible for certificates. +* Wants to explore workflows +* Launched their course with the password protected proctored test +* Quiz has 120 min timer, same with Proctor-U settings +* No failures is a good thing, they want everyone to pass +* Is thinking about integrating Zapier, Shopify, and Northpass. Learner's have to pay for a retake. +* Using Accredible for certificates. * Accredible: make a group, make a certificate name same as group -* It does some funny things with dates -* Heavily using Workflows in Hubspot. Connected to Unific via Shopify -* Data: Bold to Shopify, Shopify to Hubspot. Hubspot becomes the main repo for all data. How to integrate Northpass? -* Getting large customer orders that can't go through bold, they go straight to Shopify. Managing expiration/join dates in a Trello card. -* Large customers are invoiced separately, bold can't do $0. -* She is just thinking about this, no engineering hours needed yet. -* The other item she wanted to talk about: - * They just started using Services Hub - * Wants to know other client use cases - * Using typeform for reviews, but will start using services hub - * Mostly to gather feedback +* It does some funny things with dates +* Heavily using Workflows in Hubspot. Connected to Unific via Shopify +* Data: Bold to Shopify, Shopify to Hubspot. Hubspot becomes the main repo for all data. How to integrate Northpass? +* Getting large customer orders that can't go through bold, they go straight to Shopify. Managing expiration/join dates in a Trello card. +* Large customers are invoiced separately, bold can't do $0. +* She is just thinking about this, no engineering hours needed yet. +* The other item she wanted to talk about: + * They just started using Services Hub + * Wants to know other client use cases + * Using typeform for reviews, but will start using services hub + * Mostly to gather feedback * What feature are they using Services Hub for mostly? -* Service Hub is a HUBSPOT product -* She got stuck on a workflow +* Service Hub is a HUBSPOT product +* She got stuck on a workflow * CIP Exam, it should trigger for all learners not just a specific one - * But she is getting a trigger for "enter UID" which she doesn't want to do - * This should be for everyone. + * But she is getting a trigger for "enter UID" which she doesn't want to do + * This should be for everyone. ## 11/08/2022 + ### Monthly Sync with Georgina + * Setup an incredible workflow in Hubspot - * NP activation link - * Dropped into Hubspot > goes in contact field -* Wants to explore gamification and badging -* Self gratification -* Wants to mimic duolingo + * NP activation link + * Dropped into Hubspot > goes in contact field +* Wants to explore gamification and badging +* Self gratification +* Wants to mimic duolingo + +## 12/20/2022 + +### Year End Review & 2023 Planning + +Engagement is the big push. +FEAT: Amazon & AI type recommendations, Peer selling, FOMO course enrollment +More customers would be ideal, growth +Adding courses, bundling of Learning Paths +CIP is a big portion of their revenue, they want to add people and sell more CIP exams. +Better Leveraging the Hubspot integration + +New President is only 2 weeks old but may have ideas + +_Analytics:_ + +* Wishes she could jump into the person a bit more. Look at their "Journey". Self-serving with learner analytics for when they get tickets. +* More for Admins +* Pulling certain roles & attributes +* Being able to impersonate that person, or move them to complete when they are stuck. View what they see. diff --git a/CustomerNotes/JJSV.md b/CustomerNotes/JJSV.md index 8beec785..0b8fa674 100644 --- a/CustomerNotes/JJSV.md +++ b/CustomerNotes/JJSV.md @@ -166,13 +166,13 @@ This is ONLY for the US Melinda half day on the 23rd, then off until the 3rd. Audio files in the platform did not look how she wanted it to look. The S3 embed is too plain -TODO: If there are no events, remove zero state error message. -TODO: Add Description of the podcast. +DONE: If there are no events, remove zero state error message. +DONE: Add Description of the podcast. She doesn't want the S3 Bucket Audio embed anymore, but will add audio files to SCORM files and those will all be individual courses with skip overview page. -TODO: Get rid of fine tuned and change Podcasts to Professional Podcasts - categories. +DONE: Get rid of fine tuned and change Podcasts to Professional Podcasts - categories. -## 12/14/2022 +## 12/19/2022 -### Wednesday Sync +### Pre-Holiday Sync -adwad +TODO: Send Melinda a list of all the information Northpass stores diff --git a/CustomerNotes/Talkspace.md b/CustomerNotes/Talkspace.md index 13553f76..927c2792 100644 --- a/CustomerNotes/Talkspace.md +++ b/CustomerNotes/Talkspace.md @@ -247,3 +247,5 @@ Her Ideas: Course to test: Psychiatry Tickets Training c147d36c-3416-49e2-b665-37342d215d9a + +TODO: Add total completion percentage column to Group Reports. diff --git a/CustomerNotes/Wildhealth.md b/CustomerNotes/Wildhealth.md index 62840884..dc363f8c 100644 --- a/CustomerNotes/Wildhealth.md +++ b/CustomerNotes/Wildhealth.md @@ -150,4 +150,4 @@ Best method: TODO: Zoom Webinars/ILTs and Custom Comms.. TODO: Send Event Flow to Abby -TODO: Deliver Trei Analytics. +DONE: Deliver Trei Analytics. diff --git a/Scripts/API_Tests/addtogroup_fromcsv.py b/Scripts/API_Tests/addtogroup_fromcsv.py new file mode 100644 index 00000000..33ee56bd --- /dev/null +++ b/Scripts/API_Tests/addtogroup_fromcsv.py @@ -0,0 +1,74 @@ +import requests +import pandas as pd + +baseCsv = "/Users/normrasmussen/Downloads/Incomplete list for NP monthly communcation 12.19.22 - Users.csv" +baseUrl = "https://api.northpass.com/v2/people/" +baseUrlname = "https://api.northpass.com/v2/people?filter[name][eq]=" +baseUrlemail = "https://api.northpass.com/v2/people?filter[email][eq]=" +# apiKey = "JRDpCGQ7vSRiva6t5OkWDr5eJ" # G2 +# apiKey = "6hUfJdAartHTHhHc0WIRZYPWe" #Walmart +apiKey = "84GO7zb7a990UJrnFJqiYcd0m" # Skuid's API + + +def getfromEmail(baseUrlemail, baseCsv, apiKey): + uuids = [] + errors = [] + emails = pd.read_csv(baseCsv, usecols=["EMAIL"]) + emails = emails["EMAIL"].to_list() + for email in emails: + email = email.rstrip() + url = baseUrlemail + f"{email}" + headers = { + "accept": "*/*", + "x-api-key": apiKey, + "content-type": "application/json", + } + response = requests.get(url, headers=headers) + json = response.json() + try: + uuid = json["data"][0]["id"] + uuids.append(uuid) + except Exception as e: + # print(email) + errors.append(email) + # print(str(e)) + # print(response.text) + pass + # print(uuids) + print(errors) + addtoGroup(apiKey, uuids) + + +def addtoGroup(apiKey, uuids): + number = 0 + for x in uuids: + url = f"https://api.northpass.com/v2/people/{x}/relationships/groups" + payload = { + "data": [ + { + "type": "membership-groups", + "id": "7b5e5417-bc9f-454a-89a1-347c04225e03", + } + ] + } + headers = { + "accept": "application/json", + "content-type": "application/json", + "X-Api-Key": apiKey, + } + response = requests.post(url, json=payload, headers=headers) + # print(response) + try: + number += 1 + pass + except Exception as e: + print(str(e)) + print(response.text) + print(x) + pass + finally: + print(f"{number} people added to the group!") + + +if __name__ == "__main__": + getfromEmail(baseUrlemail, baseCsv, apiKey) diff --git a/Timetagger/_timetagger/users/norm~bm9ybQ==.db b/Timetagger/_timetagger/users/norm~bm9ybQ==.db index 7d714f4b08956e436ad3c357bde09f9e9c29b476..9af087cfeb03925b8141ac5ce03127a0fa4927a0 100644 GIT binary patch delta 8406 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