【Salesforce】レコード作成日を指定して商談オブジェクトへデータをインポートしたい!
出来るんだー!と感動したので備忘録でアップします。
Excelで管理していた商談データをSalesforceへ
自社では、商談管理を見直すために、Excelで営業役員を含めどんな項目をどう管理したいか検討をしてきました。
その中で、営業役員からExcel管理はもう限界だからそろそろSalesforceへ移行したいというお話があり、まずはSandboxでExcelデータを元に再構築しようとなりました。
Sandboxの環境を整えたり、ExcelデータをSalesforceへインポートするために整理したりする中で、問題がひとつ浮上してきました。
外部の情報で商談レコードを作成するには、データローダーを活用します。
その際、商談レコードの作成日はデータローダーでインポートした日付になります。
しかしながら、商談レコードの作成日は、本来であればExcelデータにて書き込みした日なので矛盾が生じてきます。
また、リードタイムを確認するために作成日から今日までの経過日を計算して出したいとも依頼があったので、ここは解決をしなければなりません。
設定+権限セット+データローダー!
都合よく作成日を指定して登録とか出来ないかな…なんてインターネットで調べてみたのですが、システム項目だから出来ませんという文面がちらほらあり、的確な記事は見当たらず…。
なので、Salesforceのテクニカルサポートさんにお伺いさせて頂き、見出しの通りの内容で出来ました!
Salesforceのテクニカルサポートさん、いつも迅速かつご丁寧なお返事ありがとうございます!
とても助かりました( ;∀;)!
手順は大きく分けて4つあります。
注意点は、新規作成時には作成日の指定はできますが、既存のレコードの作成日は変更出来ないとのことです。
いきなり本番環境で行うのは事故があったときに困るので、まずはSandboxでお試しくださいね!
Sandboxで行うときも、まずはCSVデータ2~3行くらいのデータ量で行うといいと思います!
最初はおそらくエラーの嵐だと思うので、大量のデータでエラーが大量に出たらテンション下がるしエラーさばくの大変になると思います。
①設定「ユーザーインタフェース」を変更
いつもの歯車マークから設定画面に移行し、検索窓で「ユーザーインタフェース」と検索します。
「ユーザーインタフェース」内にある、「レコードの作成時に監査項目を設定」および「無効な所有者のレコードを更新」ユーザ権限を有効化」のチェックをオンにします。
②権限セットを作成、割り当て
新規で権限セットを作成します。名称は任意で設定します。
「システム権限」 内の「レコードの作成時に監査項目を設定」権限と「無効な所有者のレコードを更新」権限をチェックして保存します。
データローダーでログインするユーザー(自分)を割り当てます。
③インポート用のCSVデータに作成日を追加
インポート用のCSVデータに新たに作成日を追加します。
このとき、単純に作成日にしたい日付を新しく列に追加すればいい!と思いがちですが、落とし穴があります。(私もハマりました)
作成日なんですが、データ型が日付/時間なので「2020-11-25 12:55:17」と表記しないといけないです。
でも、これをCSVデータでどうやって表記すればいいかわからず…/(^o^)\
インターネットで調べたところ、セルの表記のカスタム部分で「yyyy-mm-ddThh:mm:ss.sssZ」とすると出てきたので、試したらデータローダーで通りました!
④データローダーで③を商談にインポート
データローダーの詳しいやり方は割愛しますが、作成日は商談オブジェクトの「CreatedDate」に対応させるようにしてください。
③にも書いたようにデータ型の表記を間違えるとエラーになってしまうので注意してくださいね!
まとめ
Salesforceのテクニカルサポートさん、ありがとうございます!の一言につきます!
これでリードタイムの経過日の依頼を達成できました!
なかなかこういう機会は出てこないかもですが、自分がインターネットで調べて記事にヒットしなかったのでアップしてみました!
自分の備忘録用ですがどなたかのお役に立てば幸いです!