cityofaustin / atd-data-tech

Austin Transportation Data & Technology Services
18 stars 2 forks source link

Feature - Digital Interview Ability to Import Applicants from external source (EasyCSV) #19180

Open stephaniemoorer opened 2 months ago

stephaniemoorer commented 2 months ago

Ability to import Applicants from the eCareer Applicant List (excel spreadsheet) to Edit Applicants page in Knack TPW Hire/Hiring Management/ Edit Applicants.

Current Process

Future Process

We are developing a TPW Hire application that is a centralized place to manage job posting information, that replaces the spreadsheet.

Requested enhancement

However, HR recruiters download a report from the eCareer website and need the ability to import a spreadsheet into a Knack table job_applicants as a front-end user.

Old Interview Packet - HR.Digital.Interview.Hiring.Packet.-.Sample.1

image

Knack - job_applicants

TPW Hire - Candidate Matrix

image

stephaniemoorer commented 1 month ago

Easy CSV may be a option, will need to be tested

Sample eCareer Applicant Report: https://docs.google.com/spreadsheets/d/1XEdKuNU-Xz4LvtpRRyHJ82SSTBQkYN_r/edit?gid=985246883#gid=985246883

dianamartin commented 1 month ago

10/24/24

Worked on this a little yesterday with Patrick

Configure first

Testing Steps

dianamartin commented 4 weeks ago

10/29/24

Prep Steps

Import Steps

Set Up Import Data Flow

Configure columns

Send the data to

Add Custom Headers

Customize the JSON to POST

  "field_334": {
    "first": "{{ FIRST }}",
    "last": "{{ LAST }}"
  },
  "field_328": "{{ PHONE }}",
  "field_376": {
    "email": "{{ EMAIL_ADDRESS }}",
    "label": "{{ EMAIL_ADDRESS }}"
  }
}

TESTED

NEED TO DO

dianamartin commented 4 weeks ago

@ChrispinP Tried to do embed only works on like w3schools.com image

dianamartin commented 4 weeks ago

10/30/24

This JSON is working correctly

{
  "field_334": {
    "first": "{{ FIRST }}",
    "last": "{{ LAST }}"
  },
  "field_328": "{{ PHONE }}",
  "field_376": {
    "email": "{{ EMAIL_ADDRESS }}",
    "label": "{{ EMAIL_ADDRESS }}"
  }
}
dianamartin commented 3 weeks ago

10/31/24

Max from EasyCSV point me to a Knack API article: https://docs.knack.com/docs/working-with-fields. This is probably my issue, I need to have the corresponding Knack record id.

dianamartin commented 1 week ago

11/15/24

Connections are stored as arrays of record IDs (strings), even when there is only one connected record. Each of these is the ID of a record of the object to which this field connects.

JSON // More than one connected record ["4fea069e9e8246001d000698", "4fea069e9e8246001d000699"]

// One connected record ["4fea069e9e8246001d000699"]

Steps to finding Record ID on the front end

Tested

dianamartin commented 1 week ago

11/18/2024

Stephanie and I synced and we decided to do some usability tests on three different methods.

Option 1: Manual Entry

Option 2: Copy & Paste Entry

Option 3: EasyCSV import process

Dependency

Option 4: Custom Solution (DTS Devs)

dianamartin commented 1 week ago

11/18/2024

Christina and I synced on this to review the Spike issue I made and then we decided to test a little more.

Tested

What we remembered, we can't import via a connection field. It has to be non-connection field, (ex. ID, email). So we're close now, we just need the assistance of the Devs to update the JSON to specify which field from the connected table we're importing.

Example of import

these are the configurations we did to make it work image

dianamartin commented 1 week ago

11/18/24

json that works

  "field_334": {
    "first": "{{ FIRST_NAME }}",
    "last": "{{ LAST_NAME }}"
  },
  "field_328": "{{ PHONE }}",
  "field_376": {
    "email": "{{ EMAIL_ADDRESS }}",
    "label": "{{ EMAIL_ADDRESS }}"
  },
  "field_227":"{{ JOB_POSTING_MANAGEMENT }}"
}

With the new PCN fields - didn't work but closer...

    "field_334": {
        "first": "{{ FIRST_NAME }}",
        "last": "{{ LAST_NAME }}"
    },
    "field_328": "{{ PHONE }}",
    "field_376": {
        "email": "{{ EMAIL_ADDRESS }}",
        "label": "{{ EMAIL_ADDRESS }}"
    },
    "field_318": {
        "job_posting_management": "{{ JOB_POSTING_MANAGEMENT }}",
        "pcn": "{{ PCN }}"
    }
}

Reference EasyCSV<>Knack

dianamartin commented 1 week ago

11/20/24

Stephanie and I synced, I had updated

Testing Different Entries - Time capture

Option 1: Manual Entry

Option 2: Copy & Paste Entry

Latest JSON


    "field_334": {
        "first": "{{ FIRST_NAME }}",
        "last": "{{ LAST_NAME }}"
    },
    "field_328": "{{ PHONE }}",
    "field_390": "{{ JOB_TITLE }}",
    "field_391": "{{ REQUISITION }}",
    "field_392": "{{ PCN }}",
    "field_376": {
        "email": "{{ EMAIL_ADDRESS }}",
        "label": "{{ EMAIL_ADDRESS }}"
    },
    "field_318": {
        "job_posting_management": "{{ JOB_POSTING_MANAGEMENT }}",
        "pcn": "{{ PCN }}"
    }
}