面试前自动提醒流程需用n8n搭建:通过cron节点按上海时区每日触发,从excel或notion读取面试信息,用code节点计算倒计时并标注提醒类型,再经html和set节点生成个性化消息,最后通过企微、gmail或飞书多通道推送。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在面试前自动收到复习提醒、资料推送和状态更新,避免临时抱佛脚或遗漏关键准备项。这个流程必须能按倒计时天数精准触发,且支持动态插入岗位JD、公司背景等个性化内容,不能依赖手动复制粘贴。
创建倒计时触发器
打开n8n工作流编辑器 → 点击右上角“+”添加节点 → 在搜索框输入“Schedule” → 选择“Cron”节点并拖入画布。
双击Cron节点 → 展开“Cron Expression”设置 → 输入0 0 */1 * *(每天凌晨0点执行)→ 展开“Options” → 勾选“Execute Once” → 在“Timezone”下拉菜单中选择“Asia/Shanghai”。
【必须设为上海时区】否则倒计时计算会偏差8小时,导致提醒提前或延后一整天。
读取面试信息源
方法一:从本地Excel读取
添加“Excel”节点 → 选择“Read”操作 → “File Path”填入你存放面试表的绝对路径,例如D:/interviews.xlsx → “Sheet Name”填Sheet1 → “Range”填A2:D100(确保包含“公司名称”“岗位”“面试时间”“JD链接”四列)。
方法二:从Notion数据库同步
添加“Notion”节点 → 选择“Database Items” → 点击“Authenticate with Notion”授权 → 在“Database ID”粘贴你的面试数据库ID → 设置“Filters”为Status = "待准备" → 勾选“Return all properties”。
注意:Notion API密钥需提前在Notion设置→开发者中创建,并在n8n凭证管理里配置好。
计算倒计时并筛选今日提醒
第一步:提取面试日期字段
添加“Code”节点 → 语言选JavaScript → 粘贴以下代码:
const today = new Date();
const items = $input.all();
return items.filter(item => {
const dateStr = item.json['面试时间'] || item.json['Date'];
if (!dateStr) return false;
const interviewDate = new Date(dateStr);
const diffDays = Math.ceil((interviewDate - today) / (1000 * 60 * 60 * 24));
return diffDays >= 0 && diffDays <p>第二步:为每条匹配记录注入倒计时天数</p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/ai/4014" title="Recraft AI"><img
src="https://img.php.cn/upload/ai_manual/001/246/273/178599596075518.png" alt="Recraft AI" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/ai/4014" title="Recraft AI" class="overflowclass">Recraft AI</a>
<p class="overflowclass">Recraft AI是一款AI 3D生成工具,免费无限AI画板,生成高质量矢量艺术画、图标、3D图片和插画。</p>
</div>
<a rel="nofollow" href="/ai/4014" title="Recraft AI" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div><p>在同一Code节点内,将上述return语句替换为:</p><pre class="brush:php;toolbar:false;">return items.map(item => {
const dateStr = item.json['面试时间'] || item.json['Date'];
const interviewDate = new Date(dateStr);
const diffDays = Math.ceil((interviewDate - today) / (1000 * 60 * 60 * 24));
return {
json: {
...item.json,
daysLeft: diffDays,
reminderType: diffDays === 0 ? '今日面试' :
diffDays === 1 ? '明日冲刺' :
diffDays === 2 ? '两天准备' : '三天预热'
}
};
});这一步必须用map而非filter,否则后续节点无法获取daysLeft字段用于消息模板拼接。
生成个性化提醒消息
添加“HTML”节点 → 选择“Render Template” → 在“Template”区域写入:
<h3>? {{ $json.reminderType }}:https://www.php.cn/link/85d955f1f2024dd1d790adeb6ab856c2'公司名称'] }} https://www.php.cn/link/85d955f1f2024dd1d790adeb6ab856c2'岗位'] }}</h3>
<p>⏰ 倒计时:{{ $json.daysLeft }} 天</p>
<p>? 复习重点:<br>
• 查阅公司最新财报与业务动态(<a href="https://www.php.cn/link/85d955f1f2024dd1d790adeb6ab856c2'JD%E9%93%BE%E6%8E%A5']%20%7D%7D">JD原文</a>)<br>
• 准备3个STAR案例应对行为面试<br>
• 梳理技术栈对应项目细节</p>
<p>? 附件已同步至OneDrive「面试资料」文件夹</p>添加“Set”节点 → 在“Values”中新增字段:subject = `【面试提醒】${$json.reminderType}:${$json['公司名称']} ${$json['岗位']}` → 这样可确保邮件标题带关键信息,避免被忽略。
发送多通道提醒
方法一:通过企业微信机器人推送
添加“HTTP Request”节点 → Method选POST → URL填入你的企微机器人Webhook地址 → Body选JSON → 在JSON体中写入:
{
"msgtype": "markdown",
"markdown": {
"content": "{{ $json.html }}"
}
}方法二:发送Gmail邮件
添加“Gmail”节点 → 选择“Send Email” → “To”填你的邮箱 → “Subject”选$json.subject → “Body”选$json.html → 勾选“Is HTML”。
方法三:向飞书群发送卡片消息(需提前配置飞书Bot)
添加“HTTP Request”节点 → URL填飞书Bot地址 → Body选JSON → 写入标准飞书卡片格式,其中text.content字段填{{ $json.html }}。










