Gmailからの求職者情報自動取得:スプレッドシート活用術とキャリアアップへの道
Gmailからの求職者情報自動取得:スプレッドシート活用術とキャリアアップへの道
この記事では、新規に職業紹介会社を立ち上げ、Google スプレッドシートを活用して顧客対応進捗表を管理されている方に向けて、Gmailから受信した求職者の情報を自動でスプレッドシートに転記する方法を解説します。特に、Gmailの内容から必要な情報を抽出し、フリガナや電話番号をスプレッドシートの特定の列に自動で書き込むための具体的なスクリプトの修正方法について、詳しく掘り下げていきます。
さらに、この技術的な課題解決を通じて、日々の業務効率を格段に向上させ、最終的には求職者へのより質の高いサービス提供、ひいてはキャリアアップにつなげるための戦略についても言及します。単なる技術的な解決策にとどまらず、ビジネスの成長を加速させるためのヒントを提供します。
当方新規に立ち上げた職業紹介会社の者です。
google スプレッドシートで各営業マンの顧客対応進捗表を作成しております。
弊社サイトに求職者より登録があるとgmailが送信されるようにしたのですが、名前、電話番号、登録日などをスプレッドシートに自動で読み込む方法を模索中です。
様々なサイトを参考にしてなんとかスプレッドシートにgmailの内容を転記するところまではできるようになりましたが、不要な部分が記載してしまいます。
“replace”を書き込むまではわかったのですがどのように書き込めばいいのかわからないのでどなたか教えていただけると幸いです。
ちなみに書き込んでいるスクリプトは以下です。
function getMail(){
var sheet = SpreadsheetApp.getActiveSheet();
var threads = GmailApp.search('label:求職者問い合わせ');
var row = 1;
for (var n in threads){
var thd = threads[n];
var msgs = thd.getMessages();
for(m in msgs){
var msg = msgs[m];
var body=msg.getBody()
var date = msg.getDate();
sheet.getRange(row,3).setValue(date);
sheet.getRange(row,4).setValue(body);
row++;
}
Utilities.sleep(1000);
}
}
貼り付け画像がgmailの内容です。
ここからフリガナと電話番号をそれぞれD列、E列に記載できるようにしたいです。
もし複雑であればフリガナをD列に記載だけでも構いません。
また今までは手入力だったので未読のメールが自動入力できるようになれれば幸いです。
どなたかお知恵をお貸ください。
1. Gmailの内容をスプレッドシートに自動で転記する:基本ステップ
まず、Gmailの内容をスプレッドシートに自動で転記するための基本的なステップをおさらいしましょう。これは、ご質問者様が既に行っている部分も含まれますが、全体像を把握するために重要です。
- Gmailの設定: 求職者からの問い合わせメールが特定のラベル(例:求職者問い合わせ)に自動的に振り分けられるように、Gmailのフィルタを設定します。これにより、スクリプトが処理すべきメールを効率的に特定できます。
- Google Apps Scriptの作成: Google スプレッドシートを開き、「ツール」→「スクリプトエディタ」を選択して、Google Apps Scriptを作成します。
- スクリプトの記述: 上記のスクリプトを記述し、Gmailからメールを取得し、スプレッドシートに情報を書き込むためのコードを記述します。
- トリガーの設定: スクリプトを定期的に実行するためのトリガーを設定します。例えば、1時間に1回など、メールの受信頻度に合わせて適切な間隔を選択します。「トリガー」アイコン(時計のマーク)をクリックし、「トリガーを追加」を選択します。実行する関数、イベントの種類(例:時間主導型)、時間の間隔を設定します。
- スクリプトの実行とテスト: スクリプトを実行し、正しく動作することを確認します。必要に応じてデバッグを行い、エラーを修正します。
2. スクリプトの修正:フリガナと電話番号の抽出
次に、フリガナと電話番号を抽出するためのスクリプトの修正方法を具体的に解説します。ここでは、Gmailのメール本文から必要な情報を抽出し、スプレッドシートの指定した列に書き込むためのコードを追加します。以下のコードを参考に、ご自身のスクリプトを修正してください。
function getMail() {
var sheet = SpreadsheetApp.getActiveSheet();
var threads = GmailApp.search('label:求職者問い合わせ');
var row = sheet.getLastRow() + 1; // 最終行の次の行から開始
for (var n in threads) {
var thd = threads[n];
var msgs = thd.getMessages();
for (var m in msgs) {
var msg = msgs[m];
var body = msg.getBody();
var date = msg.getDate();
// 氏名、フリガナ、電話番号の抽出(例)
var name = body.match(/氏名:(.*)/)?.[1]?.trim();
var furigana = body.match(/フリガナ:(.*)/)?.[1]?.trim();
var phone = body.match(/電話番号:(.*)/)?.[1]?.trim();
// スプレッドシートへの書き込み
sheet.getRange(row, 1).setValue(date); // 登録日(A列)
sheet.getRange(row, 2).setValue(name); // 氏名(B列)
sheet.getRange(row, 3).setValue(furigana); // フリガナ(C列)
sheet.getRange(row, 4).setValue(phone); // 電話番号(D列)
sheet.getRange(row, 5).setValue(body); // メール本文(E列)
row++;
}
Utilities.sleep(1000);
}
}
このスクリプトでは、以下の点に注意してください。
- 正規表現:
body.match(/氏名:(.*)/)?.[1]?.trim();のように、正規表現を使用して、メール本文から必要な情報を抽出します。この例では、「氏名:」に続く文字列を取得しています。メールの形式に合わせて、正規表現を調整してください。 trim()メソッド: 抽出した文字列の前後の空白を削除するために、trim()メソッドを使用します。- エラーハンドリング:
?.[1]は、matchメソッドがnullを返す場合にエラーを回避するためのオプションです。 - 列番号:
sheet.getRange(row, 列番号)で、情報を書き込む列を指定します。上記の例では、A列に登録日、B列に氏名、C列にフリガナ、D列に電話番号を書き込んでいます。
3. スクリプトの改善:未読メールの自動処理とエラー対策
さらに、スクリプトを改善して、未読メールの自動処理やエラー対策を施すことで、より実用的なものにすることができます。
- 未読メールの処理: Gmailで未読のメールのみを検索するようにスクリプトを変更します。これにより、既に処理済みのメールを再度処理することを防ぎます。
- エラーハンドリング: スクリプトの実行中にエラーが発生した場合でも、処理を継続できるように、エラーハンドリングを追加します。
- ログ出力: スクリプトの実行状況をログに出力することで、問題発生時の原因究明を容易にします。
以下に、改善されたスクリプトの例を示します。
function getMail() {
var sheet = SpreadsheetApp.getActiveSheet();
var threads = GmailApp.search('label:求職者問い合わせ AND is:unread'); // 未読メールを検索
var row = sheet.getLastRow() + 1;
for (var n in threads) {
try {
var thd = threads[n];
var msgs = thd.getMessages();
for (var m in msgs) {
var msg = msgs[m];
var body = msg.getBody();
var date = msg.getDate();
// 氏名、フリガナ、電話番号の抽出
var name = body.match(/氏名:(.*)/)?.[1]?.trim();
var furigana = body.match(/フリガナ:(.*)/)?.[1]?.trim();
var phone = body.match(/電話番号:(.*)/)?.[1]?.trim();
sheet.getRange(row, 1).setValue(date);
sheet.getRange(row, 2).setValue(name);
sheet.getRange(row, 3).setValue(furigana);
sheet.getRange(row, 4).setValue(phone);
sheet.getRange(row, 5).setValue(body);
msg.markRead(); // 既読にする
row++;
}
Utilities.sleep(1000);
} catch (e) {
Logger.log('エラーが発生しました: ' + e); // エラーログ出力
}
}
}
この改善されたスクリプトでは、以下の点が変更されています。
- 未読メールの検索:
GmailApp.search('label:求職者問い合わせ AND is:unread')で、未読メールのみを検索するように変更しました。 - エラーハンドリング:
try...catchブロックを追加し、エラーが発生した場合でもスクリプトが停止しないようにしました。 - 既読マーク:
msg.markRead()で、処理が完了したメールを既読にマークします。 - ログ出力:
Logger.log()で、エラーが発生した場合にログを出力します。スクリプトエディタの「表示」→「ログ」から確認できます。
4. スプレッドシートの活用:業務効率化とキャリアアップ
このスクリプトを活用することで、求職者情報の収集と管理が大幅に効率化されます。しかし、これは単なる始まりに過ぎません。スプレッドシートをさらに活用することで、業務効率を向上させ、キャリアアップにつなげることができます。
- データの分析: スプレッドシートの関数やグラフ機能を使って、収集した求職者データを分析します。例えば、年齢層、職種、希望年収などの情報を分析することで、求職者の傾向を把握し、より効果的な求人提案を行うことができます。
- 顧客管理システムとの連携: スプレッドシートのデータを、顧客管理システム(CRM)と連携させることで、求職者情報の管理をさらに効率化できます。
- 業務の自動化: スプレッドシートのスクリプト機能をさらに活用して、業務の自動化を推進します。例えば、求職者への自動返信メールの送信、求人情報の自動更新などを行うことができます。
- チームでの共有: スプレッドシートをチームで共有し、情報を一元管理することで、情報共有の効率化を図ります。
5. キャリアアップ戦略:スキルアップと自己成長
技術的な課題解決にとどまらず、これらの取り組みを通じて、キャリアアップにつなげることができます。
- スキルアップ: スクリプトの作成やスプレッドシートの活用を通じて、プログラミングスキルやデータ分析スキルを向上させることができます。
- 業務改善: 業務効率化を通じて、より多くの時間を、求職者への質の高いサービス提供に費やすことができます。
- 自己成長: 新しい技術を学び、業務に活かすことで、自己成長を実感し、モチベーションを高めることができます。
- リーダーシップ: チーム内でスクリプトの活用を推進し、他のメンバーをサポートすることで、リーダーシップを発揮することができます。
これらの取り組みは、あなたのキャリアを大きく発展させる可能性を秘めています。積極的に学び、実践し、自己成長を追求してください。
もっとパーソナルなアドバイスが必要なあなたへ
この記事では一般的な解決策を提示しましたが、あなたの悩みは唯一無二です。
AIキャリアパートナー「あかりちゃん」が、LINEであなたの悩みをリアルタイムに聞き、具体的な求人探しまでサポートします。
無理な勧誘は一切ありません。まずは話を聞いてもらうだけでも、心が軽くなるはずです。
6. まとめ:Gmailとスプレッドシートを連携させて、業務効率化とキャリアアップを実現する
この記事では、Gmailから受信した求職者情報をGoogle スプレッドシートに自動で転記する方法について解説しました。スクリプトの修正方法、未読メールの自動処理、エラー対策、スプレッドシートの活用方法、そしてキャリアアップのための戦略について、具体的なアドバイスを提供しました。
これらの情報を活用して、日々の業務効率を向上させ、求職者へのサービスを向上させ、そして自身のキャリアアップにつなげてください。技術的な課題解決は、ビジネスの成長と自己成長のための大きな一歩となります。積極的に学び、実践し、あなたのキャリアを切り開いてください。