[object Object]

โ† back to Rentv 2026

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

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 2026  ยท  PR intel: paginate linkedin-enrich target pool (Cody cycle 3 e8fc556f โ†’