โ back to Rentv
org drawer: surface each contact's LinkedIn as a clickable ๐ (org detail now returns per-person linkedin_url) โ see a firm's contacts' LinkedIn right where you pitch them, now that ~500 have it enriched
39587e3959df5a5167eaf7a12221e74f1ce27d5b ยท 2026-08-05 16:22:48 -0700 ยท Steve Abrams
Files touched
M public/admin/pr-intelligence/organizations.htmlM src/pr/services/organizations.js
Diff
commit 39587e3959df5a5167eaf7a12221e74f1ce27d5b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Aug 5 16:22:48 2026 -0700
org drawer: surface each contact's LinkedIn as a clickable ๐ (org detail now returns per-person linkedin_url) โ see a firm's contacts' LinkedIn right where you pitch them, now that ~500 have it enriched
---
public/admin/pr-intelligence/organizations.html | 3 ++-
src/pr/services/organizations.js | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/public/admin/pr-intelligence/organizations.html b/public/admin/pr-intelligence/organizations.html
index 94929880..a0e0a5eb 100644
--- a/public/admin/pr-intelligence/organizations.html
+++ b/public/admin/pr-intelligence/organizations.html
@@ -420,7 +420,8 @@
${o.people.map((p) => `<div class="gatechk"><b>${esc(p.full_name)}</b>
<span style="color:var(--muted)">${esc(p.exact_title || '')}</span>
${PR.verifBadge(p.email_verification_status)} ${PR.statusBadge(p.lifecycle_status)}
- <a href="/admin/pr-intelligence/people?id=${p.id}" style="margin-left:auto">open โ</a></div>`).join('') || '<div class="empty">No people yet</div>'}
+ ${p.linkedin_url ? `<a href="${esc(p.linkedin_url)}" target="_blank" rel="noopener noreferrer" title="LinkedIn profile" style="margin-left:auto">๐</a>` : ''}
+ <a href="/admin/pr-intelligence/people?id=${p.id}" style="margin-left:${p.linkedin_url ? '8px' : 'auto'}">open โ</a></div>`).join('') || '<div class="empty">No people yet</div>'}
<h3 style="margin:14px 0 8px">Agency / parent relationships</h3>
${o.relationships.map((r) => `<div class="gatechk">${PR.badge(r.relationship_type, 'purple')}
<span>${esc(r.source_name_org)} โ ${esc(r.target_name_org)}</span>
diff --git a/src/pr/services/organizations.js b/src/pr/services/organizations.js
index 0d565ec1..6c9ff6cc 100644
--- a/src/pr/services/organizations.js
+++ b/src/pr/services/organizations.js
@@ -125,7 +125,7 @@ async function get(id) {
org.evidence = await sources.evidenceFor('organization', id);
org.people = await db.rows(
`SELECT id, full_name, exact_title, normalized_role, department, lifecycle_status,
- email_verification_status, public_work_email, linkedin_status, contact_priority_score, confidence_score
+ email_verification_status, public_work_email, linkedin_status, linkedin_url, contact_priority_score, confidence_score
FROM pr_people WHERE organization_id=$1 AND lifecycle_status <> 'duplicate' ORDER BY contact_priority_score DESC`, [id]);
org.relationships = await db.rows(
`SELECT r.*, so.display_name AS source_name_org, tg.display_name AS target_name_org
โ f2a81c1c auto-save: 2026-08-05T16:13:44 (8 files) โ data/deals-regist
ยท
back to Rentv
ยท
PR intel: paginate linkedin-enrich target pool (Cody cycle 3 e8fc556f โ