@@ -37,14 +37,18 @@ function teamDeepLink(request, env) {
3737 return `https://teams.microsoft.com/l/team/${ encodeURIComponent ( channelId ) } /conversations?groupId=${ encodeURIComponent ( groupId ) } &tenantId=${ encodeURIComponent ( tenantId ) } ` ;
3838}
3939
40- function cardBodyBlocks ( request , env , { displayName } = { } ) {
40+ function cardBodyBlocks ( request , env , { displayName, slackUserId } = { } ) {
4141 const requester = request . requester_email ?? request . requester_name ?? 'Someone' ;
4242 const teamLink = teamDeepLink ( request , env ) ;
4343 const teamDisplay = teamLink
4444 ? `<${ teamLink } |${ request . team_name } >`
4545 : request . team_name ;
4646 const intro = `${ requester } requested to invite one person to Adobe Enterprise Support` ;
47- const nameSuffix = displayName ? ` (${ displayName } )` : '' ;
47+ const nameSuffix = displayName
48+ ? ` (${ displayName } )`
49+ : slackUserId
50+ ? ` (<@${ slackUserId } >)`
51+ : '' ;
4852 const emailDisplay = `${ request . member_email } ${ nameSuffix } ` ;
4953 const fields = `> *Email*: ${ emailDisplay } \n> *Team*: ${ teamDisplay } ` ;
5054 return [
@@ -75,16 +79,20 @@ export async function postApprovalCard(env, request) {
7579 throw new Error ( 'SLACK_ADMIN_CHANNEL_ID is not set. Set it in wrangler.toml [vars] or in the Cloudflare dashboard so it is not removed on deploy.' ) ;
7680 }
7781 let displayName ;
82+ let slackUserId ;
7883 if ( request . member_email . toLowerCase ( ) . endsWith ( '@adobe.com' ) ) {
7984 try {
8085 const user = await resolveUser ( env , request . member_email ) ;
8186 displayName = user ?. displayName ;
8287 } catch { /* not in tenant yet */ }
8388 if ( ! displayName ) {
84- displayName = '<@' + request . member_email . split ( '@' ) [ 0 ] + '>' ;
89+ try {
90+ const res = await slack ( env , 'users.lookupByEmail' , { email : request . member_email } ) ;
91+ slackUserId = res . user ?. id ;
92+ } catch { /* user not on Slack */ }
8593 }
8694 }
87- const opts = { displayName } ;
95+ const opts = { displayName, slackUserId } ;
8896 const requester = request . requester_email ?? request . requester_name ?? 'Someone' ;
8997 const result = await slack ( env , 'chat.postMessage' , {
9098 channel,
0 commit comments