add_note
ChatGPTUse this to add a note to a job application, contact, interview or company, e.g. a summary of a call, interview prep, or what to follow up on. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
contact_support
ChatGPTUse this when the user wants help from Seekrly's team: restore something deleted by mistake (include the reference from the delete result), report a bug, ask about billing or their account, or send feedback. The reply goes to the user's account email. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree.
create_application
ChatGPTUse this to save a job to the user's Seekrly tracker, e.g. from a pasted job posting, or to add an application at one of the user's companies (pass companyId). Fill in what the posting says; don't invent details. Status defaults to Bookmarked. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
create_company
ChatGPTUse this to add a company the user wants to track before they have a job or contact there, by name or from the shared directory (directoryId from search_companies). If the user already has it, that company is returned (created: false). Applications and contacts saved with the same name land on it automatically. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
create_contact
ChatGPTUse this to save a person to the user's contacts, optionally linked to one or more job applications (a recruiter can help with several). company is where they work, which can differ from the applications' companies (agency recruiters). Check find_contacts first to avoid duplicates. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
create_follow_up
ChatGPTUse this to schedule a follow-up with one of the user's contacts. By default it's a reminder and nothing is sent. With scheduledSend on an Email follow-up, Seekrly sends the email from the user's own Gmail/SMTP at scheduledDate (right away if that time has passed); that needs two steps: the first call returns a preview and a token, show it to the user and call again with the token only if they confirm. Automatic sending is a paid feature (Pro and up, with a daily limit per plan): on the Free plan the follow-up is saved as a normal reminder instead (send.state not_in_plan) and the user sends it themselves - tell them so. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
create_interview
ChatGPTUse this to add an interview round to one of the user's applications. Moves the application to Interviewing automatically (unless it is already at interview, offer or later), and schedules the user's reminder email. Needs the date AND start time: if the user hasn't given the time (or the timezone isn't clear), ask them before calling - never assume one. Read dates like 4/10/2026 back to the user as words (4 October or 10 April?) before using them. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
create_resume
ChatGPTUse this to build a new resume in Seekrly from JSON Resume content; Seekrly renders it to PDF with the chosen template and optional design (font size, page margins, section spacing, colors). Sources: facts the user gave you, their career profile (get_career_profile), an existing built resume (get_resume), or a resume FILE the user shares in this chat (PDF, DOC, DOCX, image or pasted text). For a file: read it fully and map it into resumeData - basics (name, label, email, phone, url, summary, location, profiles), work (one entry per job, bullets into highlights), education, skills (grouped, individual skills in keywords), projects, certificates, awards, languages, volunteer, publications. Keep the user's wording, convert dates to YYYY-MM, leave out what isn't in the file, and never invent content. Before calling, show the user what you extracted (sections and entry counts, anything unclear) and ask them to confirm. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
delete_application
ChatGPTUse this to delete a job application. Also deletes its interview rounds and notes; its contacts and follow-ups are kept and unlinked from it. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_company
ChatGPTUse this to delete a company the user no longer needs, with its notes. Only a company with no applications or contacts can be deleted: merge it into another (merge_companies) or move or delete those first. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_contact
ChatGPTUse this to delete a contact and their planned follow-ups. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_follow_up
ChatGPTUse this to delete a planned follow-up that's no longer needed. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_interview
ChatGPTUse this to delete an interview round (e.g. added by mistake or cancelled). Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_note
ChatGPTUse this to delete one note from an application, interview, contact or company (note ids come from list_notes). Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_outreach_template
ChatGPTUse this to delete one of the user's own outreach templates (not a ready-made one). Messages already sent from it are kept. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
delete_resume
ChatGPTUse this to delete a resume the user no longer wants, with its file. Its public link stops working. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree. Items are hidden, not erased: if deleted by mistake, the user can ask Seekrly support (contact@seekrly.com) to restore them within 7 days.
dismiss_duplicate_companies
ChatGPTUse this when the user says companies from find_duplicate_companies are really different companies: they stop being suggested together. Nothing else changes.
download_resume
ChatGPTUse this when the user wants the file of one of their resumes (built or uploaded): returns a download link to give them. The link works without signing in, on any device, for 5 minutes - share it only with the user, and get a new one if it expired.
find_contacts
ChatGPTUse this to look up the user's contacts (recruiters, hiring managers, referrals). Filter by keyword, name, email, company (text or companyId from list_companies), or an application they're linked to. With no filters it lists recent contacts.
find_duplicate_companies
ChatGPTUse this to find companies the user may have saved twice under different spellings (e.g. with and without 'Inc', or a typo). Each group is a suggestion: ask the user before merging with merge_companies.
get_application
ChatGPTUse this for the full details of one application: job description, skills, status history, the resume used, and notes (if the user shared notes).
get_career_profile
ChatGPTUse this to learn about the user as a candidate. Returns their profile in JSON Resume format - basics (name, email, label = headline, summary, phone, url, location, profiles), work, education, skills, projects, certificates, languages, ... - plus jobPreferences (preferredRole, yearsExperience, currentCtc/expectedCtc, employmentType, jobType, preferredLocations, noticePeriod in days). Use it to tailor resumes, cover letters and outreach, or to judge fit for a job. To fill an application form, pass the resumeId the user applies with (from list_resumes): that resume's details come first and the profile fills the rest.
get_company
ChatGPTUse this for one company: its profile (website, careers page, locations, industry; from the shared directory when inDirectory is true, read-only), every application there, the people who work there or recruit for it, notes, and other companies of the user's that look like duplicates.
get_contact
ChatGPTUse this for a contact's full details: phone, address and socials. For notes on the contact use list_notes.
get_email_status
ChatGPTUse this before drafting an email to check the user can send from Seekrly: whether Gmail or SMTP is connected (configured) and whether their plan sends follow-ups automatically (autoSend, with the daily limit). If nothing is connected, give the user settingsUrl to connect one.
get_interview
ChatGPTUse this for one interview round's details, including its notes (if the user shared notes).
get_profile
ChatGPTUse this to see which Seekrly account is connected: the user's name, email and plan. For their experience, skills and job preferences use get_career_profile.
get_resume
ChatGPTUse this to read a built resume's content (JSON Resume) and template, e.g. before tailoring it for a job. Uploaded files (kind='uploaded') have no readable content. Also returns sharing: whether the public link is private, public or password-protected, its url, and view/download counts.
link_company_to_directory
ChatGPTUse this to link one of the user's companies to its entry in Seekrly's shared directory (directoryId from search_companies, or get_company's directoryMatch): its profile then comes from the directory and is read-only. Pass directoryId null to unlink, so its own profile shows again. Applications, contacts and notes stay. Before calling, tell the user what will change and ask them to confirm.
list_applications
ChatGPTUse this to review the user's tracked job applications, newest activity first. Filter by status, keyword (company/role/location), company (companyId from list_companies) or applied-date range. Returns ids for get_application and updates.
list_companies
ChatGPTUse this to see the companies in the user's job search with how many applications and contacts each has and how far they got (stage). Filter by name, stage (active, interviewing, offers, bookmarked, closed = every application ended, none = no applications), source (directory or own) or industry; sort by recent activity, name or number of applications. Returns ids for get_company, list_applications (companyId) and find_contacts (companyId).
list_follow_ups
ChatGPTUse this to see the user's planned follow-ups with contacts (emails, LinkedIn messages, calls), soonest first. Filter by contact, application, status, or due-date range, e.g. status=Pending with dueTo=today for what's due. nudgeDue=true lists Sent follow-ups nobody has replied to whose time to follow up again has come.
list_interviews
ChatGPTUse this to see the user's interview rounds, soonest first. Filter by application, outcome, or a date range; upcoming=true shows only future ones. Interviews that are over but still outcome Scheduled (the user hasn't said how they went) are outcome=Scheduled with to set to now; record the result with update_interview.
list_notes
ChatGPTUse this to read the user's notes on a job application, contact, interview or company (e.g. call summaries, prep notes, reminders).
list_outreach_templates
ChatGPTUse this before writing an outreach message (to a recruiter, hiring manager or contact), to start from one of the user's saved templates or Seekrly's ready-made ones (builtIn). Each has a channel, subject (email only) and body with fields: {firstName} (their first name), {name} (their full name), {company} (their company), {role} (the job you're writing about), {myName} (your name). Fill the fields from what you know; where you don't know one, reword the sentence rather than leave it empty. sent and replied show how its messages did. Pass the id as templateId when you create the follow-up or send the email.
list_resumes
ChatGPTUse this to see the user's resumes. kind='built' resumes were made in Seekrly: their content can be read (get_resume) and edited (update_resume). kind='uploaded' resumes are the user's own PDF/DOC/DOCX files: their content can't be read or edited here, only their name, version and default status (update_resume); they can be downloaded (download_resume), attached to emails or linked to applications. To change an uploaded resume's content, build a new one with create_resume.
merge_companies
ChatGPTUse this to merge duplicate companies into one: every application, contact and note of mergeIds moves to keepId, which also keeps their names so future jobs under them land there. The merged companies are removed. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree.
request_company_change
ChatGPTUse this when a company from Seekrly's shared directory (inDirectory true) has wrong details: it sends a correction to Seekrly to review. Say what's wrong in message, and the right values in fields when known. Up to 10 a day. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree.
save_outreach_template
ChatGPTUse this when the user wants to keep a message to reuse: save a new template, or change one of theirs (templateId; ready-made ones can't be changed, save a copy instead). Write the person-specific parts as fields: {firstName} (their first name), {name} (their full name), {company} (their company), {role} (the job you're writing about), {myName} (your name). Up to 50 templates. Show the user the template before saving it.
search
ChatGPTUse this to find job applications (by company, role, location) and contacts (by name, company, title, email) matching a keyword, e.g. to get IDs before updating something. Only searches areas the user has shared.
search_companies
ChatGPTUse this to find a company by name: the user's own matching companies (mine), then companies from Seekrly's shared directory they haven't saved yet (directory). Directory ids go to create_company or link_company_to_directory.
send_email
ChatGPTUse this to send an email from the user's own connected Gmail or SMTP account, optionally attaching one of their resumes. Address it with contactId (a saved contact, from find_contacts) or email. With email: if it belongs to a saved contact, that contact is used; otherwise a new contact is saved first (named from the address unless you pass name) and can be linked to a job application (applicationId). The email is logged on the contact's timeline. Two steps: the first call returns a preview and a token; show it to the user and call again with the token only if they confirm. Sends immediately and can't be undone - or, with sendAt, schedules it: Seekrly sends it automatically at that time, like an auto-send follow-up (a paid feature, Pro and up, with the plan's daily limit; it's a follow-up until it goes out, so update_follow_up can reschedule or cancel it). Only schedule when the user asks for a later time. Before the first call, show the user the full draft in the chat (to, subject, the whole body, attachment) so they can change it.
send_follow_up
ChatGPTUse this to send a pending Email follow-up right now, as drafted (subject, message, planned resume), from the user's own Gmail/SMTP; it's then marked Sent. To change the draft first, use update_follow_up. Two steps: the first call returns a preview and a token; show it to the user and call again with the token only if they confirm. Can't be undone. Before the first call, show the user the drafted email in full (to, subject, the whole message, attachment) so they can change it first.
share_resume
ChatGPTUse this to share a resume (built or uploaded) through a public Seekrly link, or to make it private again. visibility: 'public' = anyone with the link can view it; 'private' = the link stops working (sharing again later restores the same link). Returns the link (url). Making a resume public takes two steps: the first call returns a preview and a token; show it to the user and call again with the token only if they agree. Going private applies right away. Password-protected links are set up only in Seekrly (https://seekrly.com/resumes), never through this tool: if the user wants one, give them that link. To just look up the current link, use get_resume.
snooze_follow_up_nudge
ChatGPTUse this when the user isn't ready to follow up again yet: pushes the nudge of a Sent follow-up with no reply (see list_follow_ups with nudgeDue=true) back by a number of days from now. Before calling, tell the user the new date.
suggest_company_for_directory
ChatGPTUse this to suggest one of the user's own companies (not from the directory) for Seekrly's shared directory. Only its public profile is shared (name, website, careers page, links, industry, locations, description), never the user's applications, people or notes; Seekrly reviews it before anyone else sees it. Two steps: the first call only returns a preview; show it to the user and call again with the confirmationToken only if they agree.
update_application
ChatGPTUse this to change an application's status or details, or move it to another of the user's companies (companyId). Only the fields you pass change. Get the id from search or list_applications first. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
update_career_profile
ChatGPTUse this to update the user's Seekrly career profile. Two steps: the first call returns a before/after preview and a token; show it to the user and call again with the token only if they agree. Uses the same field names as get_career_profile (JSON Resume). Only the fields you pass change. Each resume section you pass REPLACES that whole section, so read get_career_profile first and send the complete list. Only save facts the user confirmed. Can't change basics.name, basics.email, the photo, gender or date of birth (the user edits those on the Seekrly Profile page).
update_company
ChatGPTUse this to rename a company or edit its profile (website, careers page, social links, industry, locations, description). Only the fields you pass change; an empty string clears one. A company with inDirectory true takes its profile from Seekrly's shared directory: only its name can change here; use request_company_change to correct the rest. Renaming it to another of the user's companies fails: merge them instead. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
update_contact
ChatGPTUse this to change a contact's details, or to link them to job applications (e.g. the recruiter for those roles). Only the fields you pass change. Use linkApplicationIds / unlinkApplicationIds to add or remove applications without touching the others; applicationIds replaces the whole list. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
update_follow_up
ChatGPTUse this to reschedule a follow-up, edit its draft (subject, message, resume), set its status (e.g. Replied after the contact answered; Replied or No Response also ends its nudges), change how many days to wait for a reply before a nudge (nudgeAfterDays), or turn automatic sending on or off (scheduledSend, Email only; a paid feature). Only the fields you pass change. The channel can't be changed: create a new follow-up for another channel. An Email follow-up whose email was sent (sentAt set), is being sent (sending) or is set to send automatically (scheduledSend) is frozen: only its status can change, or scheduledSend be set to false (which unfreezes it). A follow-up's email is sent at most once: setting a sent one back to Pending won't send it again (send.state already_sent) - to send a new message, create a new follow-up. Turning scheduledSend on needs the user's confirmation: the first call returns a preview and a token, call again with the token only if they agree. If the user's plan doesn't include automatic sending, scheduledSend is ignored and editing a follow-up that was still set to auto-send turns that off (send.state not_in_plan). Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
update_interview
ChatGPTUse this to reschedule an interview, change its details, or record its outcome (Passed, Failed, ...). Only the fields you pass change; rescheduling re-arms the reminder. A new scheduledAt needs the date AND start time - ask the user for the time if they haven't given it. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
update_note
ChatGPTUse this to change the text of one of the user's notes on a job application, contact, interview or company (note ids come from list_notes). Replaces the whole text, so send the complete new note. Returns the previous text. Before calling, show the user exactly what you'll save (the fields and any text) and ask them to confirm or change it.
update_resume
ChatGPTUse this to change a resume. Any resume (built or uploaded): rename it (name), change its version label, or make it the default - these apply right away. Built resumes only (kind='built'): replace the content with resumeData (send the complete JSON Resume document from get_resume with your changes, not a diff) and/or change the template or design (font size, page margins, section spacing, colors; only the design fields you send change) - this re-renders the PDF and takes two steps: the first call returns a preview and a token; show it to the user and call again with the token only if they agree. Uploaded files' content, template and design can't be changed - build a new resume with create_resume instead.