Active Applicant Profile
Gayathri Emuru
Data Scientist | Resume: Gayathri Emuru (5 Yrs Exp) Resume.pdf | Eligible senders: 20 of 33 active / 34 assigned

Cold Email Operations Dashboard

Safety + Prompt

Email sending (effective): YES (env EMAIL_SENDING_ENABLED: ON | dashboard pause: OFF)

Cold email prompt version: profile:gayathri:a867a9fc51

Manage prompts in Admin: Prompt Templates

Dedicated manual URL importers: Manual LinkedIn Flow Live Reply Stops | Spam Tests | Manual Dice Flow | LinkedIn Job ID Mapper

LinkedIn post outreach: LinkedIn Post Outreach

Manual reviewed-list sender: Manual Bulk Email

Consultancy reviewed sender: Consultancy Outreach

1) Import Jobs (Apify → OpenAI filter → cooldown → store)

2) Test Email Delivery (Sender accounts → Test email accounts)

Safety: delivery tests send only to Test email accounts. If you paste a new recipient, it is saved as an active Test email account before the run.

Used to pull the job URL and attach the run logs to a JobPosting.

Only used for 1-sender mode. Leave blank to use the first active sender.

Requires OPENAI_API_KEY. If enabled, generates a job-tailored subject/body for the test send.

If unchecked and the job already has a GeneratedEmail, that stored subject/body is used.

2b) Prompt Experiment (Selected Job ID → Claude)

Temporary tool: paste a prompt, click Generate, and see the subject/body output. This does not send any email.

JobPosting id to use for the prompt experiment. This does not send emails.

Temporary tool: generates subject/body for the selected Job id using Claude. Does not send emails.

2c) Company Domains (Manual)

Step 1: Generate a JSON template of companies. Step 2: paste your edited JSON mapping to save domains into Company.active_domain.

If unchecked, includes all non-blocked companies that have jobs.


2d) Legacy Company Domains (Range Backfill)

Generate a JSON dictionary for Company.legacy=True companies by row range, fill in the domains, then apply it back to legacy companies only. This prepares legacy recruiter matching before Apollo.

1-based position in legacy companies ordered by normalized name.


1b) Manual LinkedIn Import (URLs → clean → cooldown/dedupe → scrape → store)

Paste LinkedIn /jobs/view/ URLs. The importer strips tracking params, skips duplicates, and (optionally) skips companies with recent sends/imports.

Leave this blank for the normal URL-only flow. The scraper automatically captures public LinkedIn job-poster cards when they are present.

Uses exactly this number. 0 means no company cooldown. Skips companies with a recent REAL send or a recent job import within this window.

Skips if Company.is_blocked is set for the normalized company.

Requires OPENAI_API_KEY; useful if your pasted list is noisy. Off by default.

If a URL already exists in the DB, re-scrape it and update the title, company, description, and location instead of skipping it.

Unused) Upload Company Contacts (legacy admin fallback)

Normal flow skips this. Recipients come from saved allowed contacts first, then Apollo verified data/ML contacts as top-up.

3) Apply Recruiter Decisions (only if needed)

Only needed when company name matching is ambiguous and you want to map/merge.

4) Allowed Contacts + Apollo Verified Top-up

Uses existing allowed contacts first. If fewer than 10 usable contacts exist, uses Company.active_domain and the latest Apify job location to top up with Apollo verified data/ML contact emails only. Leave company blank to process only latest-batch pending companies missing emails.

5) Generate Cold Emails

6) Review + Approve + Send

Pick recipients for initial send per job, pick follow-ups per company, then send. Note: sending requires EMAIL_SENDING_ENABLED=1 and the dashboard kill-switch to be resumed.

Open Read-only Review Dashboard Open Send Control Open Spam Tests Open Follow-Ups