前回(Salesforce でアカウント毎に特定項目を非表示にしたいときの注意点)の応用編。
非表示にしたい項目なのに必須項目(姓など)のところに入れてしまったとき、
どうやって任意項目にするかという問題。
方法1:別項目を用意して POST 項目を変更して既存データは全置換する
一番単純な方法。
別項目を用意して、フォームの POST 先をそちらにすればよい。
これで新規登録分は新しく作った項目にデータが入る。
既存データについては一括エクスポートして、
項目の置き換えを行った後、データローダで上書きアップロードすればいいかと。
方法2:POST 項目を変更せずに Salesforce のみで置き換えを行う
なんらかの理由でフォームに手を入れづらかった場合を想定。
Web-to リードでデータを入れるので必須項目(ここでは姓を例におく)に
データが入ってしまうのは避けようがない。
ならば入った瞬間に入れ替えを行えばよい。
設定 → アプリケーションの設定 → 作成 → ワークフローを承認申請 → ワークフロールール
ワークフロールールと言って、特定条件時にある一定のアクションを行うことができる。
これで『リードが作成されたとき』に「姓」をカスタム項目にコピーして、
代わりに別の項目を入れておくといったアクションが可能となる。
例えばこんな感じで項目自動更新の項目として、 -「姓」を「カスタム項目の姓」にコピー -「Email」を「姓」にコピー
のような項目を用意してルールのアクションに設定すれば、
リードが登録された瞬間に上記のアクションを行ってくれる。
だがこれだけだと新規のものが置換されるだけなので、
既存のものは同じくデータローダを使って一括上書きをするか、
件数が少なければワークフロールールの発動条件を「編集するたび」にして、
リードの空編集をすればアクションが行われる。
追記(2014/12/01):
これだけだと不十分だったので続きます。