Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-06-20 11:16:20

@Nicholas McFadden has joined the channel

deactivateduser (deactivateduser168066-themedialaboratory@slack-corp.com)
2024-06-20 11:18:16

@deactivateduser has joined the channel

slackbot
2024-06-20 11:18:20

Tort Intake Professionals has joined this channel by invitation from Shield Legal.

deleted-U04GZ79CPNG
2024-06-20 11:18:20

@deleted-U04GZ79CPNG has joined the channel

deleted-U072JS2NHRQ
2024-06-20 11:18:21

@deleted-U072JS2NHRQ has joined the channel

deleted-U06C7A8PVLJ
2024-06-20 11:18:22

@deleted-U06C7A8PVLJ has joined the channel

deleted-U06C7A8PVLJ
2024-06-20 11:19:51

Is it too early to add our signature hashtags🧐 @deleted-U05QUSWUJA2

deleted-U06C7A8PVLJ
2024-06-20 11:19:53

#AI #HumansAreNotFood

🤣 Nicholas McFadden
😂 deleted-U072JS2NHRQ, deactivateduser
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-06-20 11:21:35

set the channel description: To discuss the progress and issues related to automating reports and the visualization of them in Looker

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-06-20 11:22:24

set the channel topic: #AI #HumansAreNotFood

deleted-U072JS2NHRQ
2024-06-20 11:48:46

Nick you added an Aida from Connex instead of me 😭 lol

deleted-U072JS2NHRQ
2024-06-20 11:48:56

to the meeting**

deleted-U06C7A8PVLJ
2024-06-20 12:13:48

I was a bit concerned that aidan was not able to make it to our weekly meetings when we told us @deleted-U05QUSWUJA2 he was able to make it 😆

😂 deleted-U072JS2NHRQ, Nicholas McFadden
deleted-U04GZ79CPNG
2024-06-20 15:41:24

@Nicholas McFadden would you be able to give us a bit of a crash course in the Looker Studio stuff either during the meeting on Thursday or in a separate meeting? We are excited to put it to good use!

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-06-20 15:43:46

Yes that was my intention. I believe we recorded the training session we had so I will look for that and send it to yall

deleted-U04GZ79CPNG
2024-06-20 15:51:15

Thank you

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-08 15:14:09

@here I have setup access for all of you. Please go to the link below and confirm you can login and see the BigQuery datasets/tables. https://console.cloud.google.com/bigquery?project=tort-intake-professionals&ws=!1m0

accounts.google.com
🙌 deleted-U04GZ79CPNG, deleted-U06C7A8PVLJ
🙌:skin_tone_3: deleted-U072JS2NHRQ
deleted-U04GZ79CPNG
2024-07-08 15:15:27

Thank you!!

deleted-U072JS2NHRQ
2024-07-08 15:15:44

Yeah, thank you! I can login

deleted-U06C7A8PVLJ
2024-07-09 10:40:04

Confirmed @Nicholas McFadden

👍 Nicholas McFadden
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-10 12:03:25

This is your JSON key file for GCP. Your Service Account is: tipreportingteam_sa

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-11 12:55:05
deleted-U06C7A8PVLJ
2024-07-11 13:17:35

Thank you @Nicholas McFadden

deleted-U06C7A8PVLJ
2024-07-11 13:17:43

#AI #HumansAreNotFood

deleted-U06C7A8PVLJ
2024-07-11 16:29:12

@Nicholas McFadden Whenever you get the chance, may you grant Aidan and I access to this (The screenshot):

I am creating a python script that will look for a specific email subject line from my end (it will be a schedule report from law ruler) and I believe I need access to this in order for it to work based on my research. Looks like google cloud functions uses a service account for authentication; while if I had ran the script local (which I am trying to use google cloud function instead) it could use OAuth 2.0 instead.

deleted-U06C7A8PVLJ
2024-07-11 16:31:02

That is the error I get when trying to enable permission for Gmail API. With that, I am going to obtain a .json file which would give me the necessary permissions to pull from my gmail for the python script

deleted-U06C7A8PVLJ
2024-07-11 17:18:30

Update: @Nicholas McFadden

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-16 13:51:09

Law Ruler API: https://apim.lawruler.com/tortintakeprofessionals/swagger/ui/index

🤝:skin_tone_3: deleted-U072JS2NHRQ
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-16 14:18:34

Make a Post request for Authorization Tokens

def getauth(uname, upass, cid, csecret): ## Authorization endpoint authurl = 'https://auth.lawruler.com/tortintakeprofessionals/identity/connect/token'

## Pass credentials
body = {'grant_type': 'password',
        'username': u_name,
        'password': u_pass,
        'scope': 'openid profile read write offline_access',
        'client_id': c_id,
        'client_secret': c_secret
        }
headers = {'Content-Type': 'application/x-www-form-urlencoded'}

# Execute authorization token request
auth_resp = <a href="http://requests.post">requests.post</a>(auth_url, data=body, headers=headers)

# Store Token Info
auth_data = auth_resp.json()

try:
    a_token = auth_data['access_token']
    token_type = auth_data['token_type']
    r_token = auth_data['refresh_token']
    return a_token
except KeyError as e:
    print(f"Error retrieving access token: {e}")
    return None

Create a function to handle the request

def getleadcount(a_token):

# 'GetInboxItems' endpoint used:
url = "<https://apim.lawruler.com/tortintakeprofessionals/ApiCases/GetInboxItems>"

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {a_token}'
}

params = {
    "inboxType": 0,
    "page": 1,
    "pageSize": 1
}

response = requests.request("GET", url, params=params, headers=headers)

# Retrieve json response
try:
    json_resp = response.json()
    lead_count = json_resp.get('Count')
    end_page = math.ceil(lead_count / 1000)
    return end_page
except (KeyError, json.JSONDecodeError) as e:
    print(f"Error retrieving lead count: {e}")
    return None
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-16 14:19:06

def main(): # Define resources and global variables cid = "tortintakeprofessionals.client.resource.owner" csecret = "3RsxCggviuYBdBZQ15DT1faJFOPRJLMG" uname = "nickmcfadden@tortintakeprofessionals.com" upass = "tip123"

try:
    a_token = get_auth(u_name, u_pass, c_id, c_secret)
    if not a_token:
        raise Exception("Failed to retrieve access token")

    end_page = get_lead_count(a_token)
    if not end_page:
        raise Exception("Failed to retrieve lead count")

    links_df = asyncio.run(get_links(a_token, end_page))  # Store DataFrame directly

    print(links_df.shape)  # Print the shape of the DataFrame
    print(links_df.head())  # Print a preview of the DataFrame
except Exception as e:
    print(f"An error occurred: {e}")
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-17 09:40:02

reporting.interaction_voice

deleted-U072JS2NHRQ
2024-07-17 14:10:20

these people won't get out of the room

deleted-U06C7A8PVLJ
2024-07-17 14:17:36

@Nicholas McFadden Just want to confirm if we are still good for our 12 meeting

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-17 15:28:13
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-18 15:08:57

Going to need to cancel this weeks meeting sorry

👍:skin_tone_3: deleted-U072JS2NHRQ
deleted-U072JS2NHRQ
2024-07-18 15:10:41

all good, no worries!

deleted-U04GZ79CPNG
2024-07-18 15:19:20

Rain delay ⛈️

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-19 09:18:12

https://learn.microsoft.com/en-us/power-automate/overview-solution-flows

learn.microsoft.com
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-19 09:21:05

https://cloud.google.com/blog/products/application-development/adding-custom-intelligence-to-gmail-with-serverless-on-gcp

Google Cloud Blog
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-19 09:22:25

https://developers.google.com/gmail/api/reference/rest/v1/users/watch

Google for Developers
👀 deleted-U06C7A8PVLJ
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-07-19 15:42:18

https://developers.google.com/gmail/api/quickstart/python

Google for Developers
deleted-U06C7A8PVLJ
2024-07-19 15:47:59

@deleted-U072JS2NHRQ

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-08-01 16:16:29

Below are the Shield Legal SFTP login info.

sftp://dicellolevitt.files.com Username: Shieldlegal Port: 22 Password: #Shi3LdL3g2l!

deleted-U06C7A8PVLJ
2024-08-02 13:27:40

Flatirons benchmark script has been updated so you can run your script now if needed @Nicholas McFadden for the financials

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-08-27 16:03:02
👍:skin_tone_3: deleted-U072JS2NHRQ
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-09-27 12:52:20
deleted-U072JS2NHRQ
2024-09-27 12:54:40

happy cry

🤣 Nicholas McFadden
deleted-U06C7A8PVLJ
2024-09-27 15:21:23

@Nicholas McFadden Mucho Gracias

🙏 Nicholas McFadden
deleted-U072JS2NHRQ
2024-10-24 14:44:07

This is what I had prior when doing the Benchmark Dashboard, but this is in PowerBI - but I'll work on this in Looker more, even though Looker is ugly

deleted-U072JS2NHRQ
2024-10-25 09:20:18

@Nicholas McFadden When you get a chance, can you show us how to add data from the benchmark report to looker? We need currently it's only pulling data from the first tab of the Benchmark report, and we need it to pull data from the All Data tab preferably, as all of the data it's currently pulling is just the labels from the first sheet.

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:04:34

I set it up on the all_data tab

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:05:28

are you free to hop on a gmeet?

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:10:16

From what I am seeing there are connected to the all_data tab

deleted-U072JS2NHRQ
2024-10-25 13:14:31

hey @Nicholas McFadden, yeah we're totally good now, I got it all figured out now, that's my bad

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:14:49

No worries

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:15:07

You have to set up the connection within BQ

deleted-U072JS2NHRQ
2024-10-25 13:15:34

I'm working on getting the fields/functions ready for the CPAP campaign, but i'll let you know if I run into any other roadblocks, but I saw the Alldatatab information

Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:15:58

Like under that G sheet data set try adding a new table and pick drive as the source and then put type as G sheet and put name of the sheet you want it to pull

❤️ deleted-U072JS2NHRQ
deleted-U072JS2NHRQ
2024-10-25 13:16:38

we're golden, I thought we didn't have the all data sheet, but we do, so that solves all the problems I was having thankfully :thehorns::skintone_4:

👍 Nicholas McFadden
Nicholas McFadden (nickmcfadden@shield-legal.com)
2024-10-25 13:16:56

You’ll need the URI which is the link of the sheet but without the sharing stuff at the end of the url

👍:skin_tone_3: deleted-U072JS2NHRQ
:eyes_3d: deleted-U06C7A8PVLJ