🐴

Salesforce:レコードの値を使ってGoogleカレンダーに予定を追加する

2021/02/11に公開

Googleカレンダーに登録したいときってあるよね。

はじめに

GoogleカレンダーはURLに値を埋め込んで予定登録ができる。
この機能を利用してSalesforceでURLを自動生成し、ユーザーにクリックさせて予定登録をさせる。

[解説]GoogleカレンダーのURLについて

基本URLにパラメータを追加していくと、値が
入った状態で作成画面を開ける。

http://www.google.com/calendar/event?action=TEMPLATE

カレンダーの値

text:予定のタイトル

▼例

text=hogehoge

details:予定の詳細

▼例

details=fugafuga

dates:開始時刻/終了時刻

▼例

dates=20210211T103000Z/20210211T113000Z

※日付のみ指定すると終日予定になる

dates=20210211/20210211

location

▼例

location=foobar

Salesforceに項目を作成する

  1. 先に以下項目を作成
    ・タイトル:255文字/テキスト型
    ・詳細:255文字/テキスト型
    ・開始日時:日付・時間型
    ・終了日時:日付・時間型
  2. 数式項目:テキストを作成
    数式
    'http://www.google.com/calendar/event?action=TEMPLATE&text='
     &  [タイトル項目]
     & '&details='
     &  [詳細項目]
     & '&dates=' 
     &  SUBSTITUTE(
    	SUBSTITUTE(
    		SUBSTITUTE(
    			text([開始日時項目])
    			, '-', '')
    		, ':','')
    	,' ','T')
     & '/'
     &  SUBSTITUTE(
    	SUBSTITUTE(
    		SUBSTITUTE(
    			text([終了日時項目])
    			, '-', '')
    		, ':','')
    	,' ','T')
    
  3. 完了。

URL自動生成ができるようになった。

URLを手動でコピーし、アドレスバーに貼り付けることで予定登録ができる。

残課題

最低限、カレンダー追加用URLの生成ができるようになったが、以下が課題。

  • URLを手動でコピーするのは手間
    • URLエンコードしてボタン化
  • そもそも自動で登録したい
  • カレンダーの追加先を予め設定しておきたい

Discussion