カスタムアプリ初心者ガイド

カスタムアプリ初心者ガイド
SkyDesk CRM
2015年 8月
富士ゼロックス株式会社
CRMはどのような組織においても、その中心となる仕組みです。ビジ
ネスデータを一カ所にまとめて管理できる豊富な機能を持っており、
同じ事を他のツールで実現するのは難しいでしょう。
CRMを使えば、よほど誤った方向に舵を切らない限り、完全な状態で
データを維持できますが、ちょっとした、でも日常業務で重要な工夫
が加えられれば、より作業がはかどります。
それを実現するのがカスタムアプリです。使い慣れたCRMの中で、そ
の機能を拡張できます。
1
第1章
CRMと個別アプリケーション開発
営業部やマーケティング部は、キャンペーンを実施し、お客様との取
引をまとめ、経費や収益を管理し、代理店などへの支払いレポートを
作成するなど、さまざまな業務を実施します。必要なデータはCRMで
管理しますが、販売手数料の集計、旅費や経費の申請処理、キャン
ペーンの費用対効果の追跡などは、その限りではありません。
だからといって、個別アプリケーションを開発すると、ソフトウェア
とハードウェアの保守に高額な費用がかかります。また、CRMと個別
アプリケーションの開発を別々の業者が担当する場合、上手く調整し
ないと重複データの発生につながってしまいます。
次のページから、このような問題の解決方法を紹介します。
2
第2章
SkyDesk Creator
一般的に、アプリケーションビルダーの特長は、誰でも短時間に個別
アプリケーションを作成できることです。
SkyDesk Creatorの提供するアプリケーションビルダーも、必要な要
素をドラッグして、タスクの実行タイミングを指定するだけで、個別
アプリケーション(カスタムアプリ)を作成できます。初めて使う場
合でも、直観的なドラッグ&ドロップのインターフェースで、無理な
くアプリを作成できます。
ワークフローとビジネスルールもドラッグ&ドロップだけで設定可能
です。ワークフローのカスタマイズ機能を使うと、アプリを柔軟に設
計できますので、自社の業務に最適な開発が可能になります。
3
1. 技術的な専門知識は不要
2.ドラッグ&ドロップのインターフェース
SkyDesk Creatorでは、必要に応じて簡単にカスタ
ムアプリを作成できます。技術的な専門知識やプ
ログラム言語の経験は不要です。
開発者に依頼する必要はなく、専門知識や経験に
関わらず誰でも自信を持ってカスタムアプリを作
成できます。
3. 開発の速さ
4. 拡張性
従来のソフトウェアアプリケーションとは異なり、
メンテナンス停止期間はありません。SkyDesk
Creatorではパッチやアップデートを自動更新する
ため、手動でインストールしなくても最新版に維
持できるだけでなく、アプリの変更も瞬時に反映
します。
事業拡大による要求変化に追随して、アプリ機能
も拡張する必要が生じます。SkyDesk CRMでは、
アプリケーションの利用環境に影響を与えること
なく、新規タブを追加できます。
4
第3章 カスタムアプリの利用方法
SkyDesk CRMアプリケーションビルダーを利用できるユーザー
1.
SkyDesk CRMアカウント管理者
2.
CRMアカウント管理者以外はデフォルトで無効
SkyDesk CRMエンタープライズ版のみ有効化できます。
カスタムアプリケーションビルダーの有効化
1. 「設定」画面を開きます(画面右上のリンクをクリックします)。
2. 「SkyDesk Apps & オプション」画面で「SkyDesk Creator」を選
択します。
3. 「有効にする」ボタンをクリックします。
5
第4章 初めてのアプリ作成
カスタムアプリケーションビルダーを有効化するとアプリの作成を開始できま
す。「作成」ボタンをクリックするとドラッグ&ドロップのアプリケーション
ビルダーが開きます。では最初のアプリを作成してみましょう。
なお、SkyDesk Creatorアカウントに作成済みのアプリからは、フォームをカ
スタムタブにインポートできます。
ネーミング
「作成」ボタンをクリックするとダイアログボックスが表示されるので、
フォームとアプリに名前を入力します。SkyDesk CRMのカスタムタブにも
フォームを表示したい場合は、タブ名も指定できます。
フォームの作成
SkyDesk Creatorでは、23種類のフィールドが利用できます。アプリに求める
機能によりますが、アプリケーションビルダーでドラッグ&ドロップするだけ
でフィールドを追加できます。必要に応じてフィールドのプロパティを指定す
るとアプリにデータを入力できます。
テキスト、数字、メールアドレスのように一般的な標準フィールド以外にも、
ファイルアップロードやCRMのフィールドのような詳細フィールドも利用でき
ます。次ページでは、基本フィールド一覧と詳細フィールドの概要を紹介しま
す。
6
標準フィールド
1.
テキスト – 1行
2.
テキスト – 複数行
3.
メール
4.
数値
5.
通貨
6.
詳細フィールド
1. 数式
4. ファイルの添付
数式フィールドは、他のフィールドに
入力した値をもとに自動計算します。
手数料の計算や金融系のアプリに役立
ちます。
フォームに入力したデータを補足する
文書やファイルを添付できます。カス
タムタブで添付ファイルをデータと共
に表示できます。
パーセント
2. ルックアップ
5. SkyDesk CRMタブ
7.
小数
SkyDesk CRMでは、データを連絡先、
8.
URL
9.
ドロップダウン
ルックアップフィールドは、2つの
フォームを関連付けます。一方の
フィールドの値を取り出し、他方の
フィールドに設定します。
10.
ラジオボタン
11.
チェックボックス
12.
複数選択リスト
13.
日付
14.
日時
15.
リッチテキスト
16.
画像
17.
メモ
18.
真偽値
見込み客、商談、仕入先、ユーザー、
請求書など数種のタブに分類します。
SkyDesk CRMのフィールドを利用す
ると、SkyDesk CRMタブのデータを
3. サブフォーム
カスタムアプリで表示できます。
メインフォーム内で、そこに埋め込ん SkyDesk CRMタブがカスタムアプリ
だサブフォームからデータを追加でき のフィールドとして機能します。
ます。メインフォームのひとつの
フィールドのように、サブフォームを
取り扱えます。
7
第5章 ワークフローをアプリに追加
カスタムワークフローとビジネスルールはカスタムアプリに不可欠で
す。これらを使うと、一定の処理を確実に実行し、決められた判断を
行うことができます。単純なIf-else構文や役職をもとにした共有や承
認プロセスのワークフローを、ドラッグ&ドロップするだけで誰でも
作成できます。
ドラッグ&ドロップのスクリプトビルダーは、独自のDELUGEと呼ば
れるスクリプト言語で動作します。最大の特徴はプログラマー以外で
もカスタムアプリを作成できることです。
CRMタスク
次のページから、SkyDesk CRMで実行できる6種類のタスクについて
解説します。CRMタスクはカスタムアプリ実行時に特定の動作をする
コードです。これらのタスクを利用すると、カスタムアプリからCRM
タブのデータを作成、表示、検索、更新できます。
8
SkyDesk CRMデータの作成
カスタムアプリに入力されたデータはカスタムタブでのみ表示されます。CRMタブでもそのコピーを使いたい
場合は、カスタムアプリにデータを入力するたびに、このタスクを実行する必要があります。
コード形式:
<CRM Response> = zoho.crm.create(<CRM Module Name>,
<Field values as map value>,
<optional duplicateCheck as Integer>);
CRMタブからデータの表示
複数のCRMタブのデータを取り出したい場合に。例えば、見込み客タブから顧客データ、そして商品タブから
商品リストを表示して、カスタムアプリで更新できます。
コード形式:
<list-variable> = zoho.crm.getRecords(“
<ModuleName>”,<fromIndex>,<toIndex>);
9
CRMデータの検索
特定の基準でCRMデータを検索します。複数の基準を指定すると、データをピンポイントで検索できます。
フィールド値の一部一致や完全一致、そして除外する文書を特定してデータをフィルターできます。
コード形式:
<variable>= zoho.crm.eachRecords(“<moduleName>”,
“<criteria>”, fromIndex, toIndex);
PDCによるデータの検索
PDCとは、予め決まったカラム(Predefined Column)です。このタスクは検索対象が明確な場合に役立ちます。
例えば、ある仕入先の取引先情報を検索する場合などです。
コード形式:
zoho.crm.searchRecordsByPDC(<moduleName>,
<criteriaColumnName>,<criteriaColumnValue>);
10
レコードIDを指定したデータ更新
SkyDesk CRMの各レコードには固有のIDが与えられます。既存レコードのIDを指定すると、SkyDesk CRMでレ
コードの値を更新できます。カスタムアプリで何らかの新しい値を入力し、CRMレコードのIDを指定して実行
すると、そのレコードのデータが更新できます。
コード形式:
<map-variable> = zoho.crm.updateRecord(<CRM
Module Name>, <ID> , <New values as map object>);
関連データの抽出
このタスクではタブのデータのレコードIDが判明している場合に、このデータと関連付けされている他のタブの
データをすべて取り出せます。例えば、ある商談に関連付けられたメモすべてを取り出す、などです。
コード形式:
zoho.crm.getRelatedRecords(<ModuleName>,
<PrentModuleName>,<RecordID>,fromIndex,toIndex);
11
カスタムアクション
アプリがデータを処理する段階に応じて、40件以上のタスクを設定で
きます。データをフォームに送信した時、フォームを開いた時、
フォームにデータを入力した時などです。カスタムアクションは大き
く分けて2つです。
1. フォームアクション
2. フィールドアクション
12
フォームアクション
フォームに対する操作に応じて実行するタスクで、データの追加時と編集時と削除時の3つに限られます。例え
ば、メールアドレス欄にフォームを開いたユーザーのアドレスを予め入力しておくなどに利用できます。
追加時:
編集時:
削除時:
フォームにデータを入力すると
定義したタスクを実行します。
「送信」ボタンをクリックする
と、タスクを実行します。
フォームのデータを編集すると
タスクを実行します。例えば、
出張申請の編集時に、承認状況
のフィールド値を非表示にしま
す。
フォームからデータを削除する
とタスクを実行します。設定す
るとデータ削除の通知メールを
自動送信できます。
フィールドアクション
他のカスタムアクションはフィールドで実行します。例えば、二者択一のラジオボタンのどちらかを選択すると、
次のフィールドを表示する、または非選択のフィールドを非表示にします。
入力時:
更新時:
フィールドにデータを入力する
と、事前に定義した条件をもと
に分析や特定のカスタムタスク
を実行します。
フィールドには値を自由に入力させておき、後から新しい値に変更し
ます。例えば、社員が出張申請を作成すると、ステータスのフィール
ド値を保留と表示しますが、マネージャーが判断すると、フィールド
値を承認または否認と表示します。いずれの場合でも、フィールド値
の更新を申請者に通知するメールの送信が必要です。
13
判断基準と変数
条件構文
ある条件を確認するときには、その条件を確認する
基準を定義します。基準とはタスクを実行する条件
です。基準を定義するには、確認したい値のフィー
ルドを選択し、その比較対象と比較方法を特定する
だけです。
条件構文の多くはIf-else構文です。条件と2つのタス
クを定義し、真の場合は一方のタスク、偽の場合は
もう一方のタスクを実行します。偽のタスクは任意
です。
例えば、今日がクリスマスイブかどうかを確認しま
す。クリスマスイブの場合は、連絡先にクリスマス
の挨拶メールを送信しますが、クリスマスイブでな
い場合は何も実行しません。この条件は毎日確認さ
れますが、真は年に一日だけで、クリスマスイブに
のみメールを送信します。
例えば、ユーザーがデータベースに入力したデータ
のみ表示させたい場合は、以下のように基準を設定
します。
input.Added_User == zoho.loginuser
IF (今日はクリスマスイブ)
{
IF (INPUT.ADDED_USER == ZOHO.LOGINUSER)
{
メールを全ユーザーに送信;
このユーザーが入力したレコードのみ表示する
}
ELSE IF (今日はクリスマスではない)
{
何もしないで、明日また確認する;
}
}
14
フィールドの表示/非表示と有効/無効
あるフィールドを非表示にしたい場合があります。
例えば、選択した性別により、異なるアンケート
の質問を表示させる場合です。他には、マネー
ジャーにのみ承認タブを表示する場合などです。
フィールドのデフォルト値をユーザーに変更させ
たくない場合は、フィールドを無効にします。例
えば、イベントの登録フォームで日付は表示させ
ますが、変更できないように設定します。
15
その他のアクション
通知メール
カスタムアクションボタン
カスタムタブは組織で共有できますが、最新デー
タを確認するためにカスタムタブを毎回開く必要
はありません。通知メールの設定をすることで、
フォームに入力された最新データを知ることがで
きます。ユーザーがデータを送信するたび、即座
に通知メールが届きます。通知メールは複数の宛
先に送信できます。
カスタムアクションボタンは、クリックすると指
定した複数のタスクを実行することができます。
追加や削除ボタンのようにビュー画面に表示でき
ます。タスクを実行したいデータを選択してから、
このボタンをクリックします。
フォームのデータを別のフォームで表示
動的選択リスト
連絡先、販売や支払の管理に複数のフォームを利
用している場合は、それぞれのフォームですべて
のフィールドを作成する必要はありません。例え
ば、連絡先フォームでは名前とメールアドレスを
管理しています。別のフォームでは連絡先フォー
ムからデータを取り込み、ビューに表示すること
が可能です。これにより、データの重複を防ぎま
す。
2件の選択リストでそれぞれカテゴリーとサブカ
テゴリーを表示します。カテゴリーで値を選択す
ると、次にその値に紐付いているサブカテゴリー
だけを表示します。例えば、最初の選択リストが
国のリストで「 U.S. 」を選択すると、次の選択リ
ストではU.S.の州だけを表示します。
例えば、今月の支払を済ませた顧客にお礼のメー
ルを送信したい場合、メールの送信を実行するカ
スタムボタンを設定します。それからデータを選
択してこのボタンをクリックすると、選択した連
絡先にメールが送信されます。
リストに選択したい国や州がない場合は、その国
や州を追加してから選択します。選択リストの
「+」ボタンをクリックすると、新しい値を追加で
きます。
16
第6章 タスクのスケジュール
スケジュールとは繰り返し行うタスクの自動処理です。指定した日付に必要なデータで定期的に実行することが
できます。スケジュールを使えば、煩雑な手動処理を自動化できます。
フォームスケジュール:
レポートスケジュール:
カスタムスケジュール:
フォームスケジュールは
フォームの日付項目の値に依
存し、その値によって実行さ
れます。条件に指定した日付
をフォームの各データの日付
項目の値と比較します。条件
を満たすと定義したタスクを
実行します。フォームの項目
が日付ではなく日時でも同様
にタスクを実行します。
レポートスケジュールはアプ
リのビューに依存します。特
定のビューのレポートスケ
ジュールを実行すると、指定
したメールアドレスにメール
が送信されます。このメール
にはビューに保存されている
データすべてのレポートが添
付されています。レポートスケ
ジュールでは、カスタムアク
ションを定義できません。レ
ポートのメール配信専用です。
カスタムスケジュールは非常
に強力かつ柔軟で、どんな
フォームやビューでもスクリプ
トを使用した検証が可能です。
つまり、スクリプトビルダー
で、通常できる操作を実行で
きます。ユーザー定義のアク
ションはすべてカスタムスケ
ジュールに分類されます。
17
アプリの共有
アプリの共有はデータ収集で最も重要な設定です。ユーザーがフォー
ムにデータを入力できるようにするには、そのフォームを共有する必
要があります。SkyDesk CRMでフォームを作成し、カスタムタブを使
用して表示しているので、そのCRMのタブをユーザーと共有します。
アプリ完成後、次の手順は、カスタムタブのアクセス権を設定するこ
とです。管理者や開発者を選択する画面にSkyDesk CRMアカウントの
ユーザーの役職がすべて表示されます。管理者や開発者はデフォルト
でカスタムタブを開けますが、他の役職にもタブを共有させたい場合
は、SkyDesk CRMアカウントの役職一覧から該当するチェックボック
スを選択します。
開発者のアクセス
SkyDesk CRMでは、柔軟にアプリケーションを開発者に割り当てるこ
とができます。開発者は新しいアプリを作成したり、あなたが作成し
たアプリを編集できます。あなたのアプリ作成を手伝うことも可能で
す。アプリをいつでも別の開発者へ再度割り当てることができます。
18
これで準備OKです。
カスタムアプリの作成に取りかかりましょう。
19
資料
SkyDesk CRM ヘルプ
https://www.skydesk.jp/ja/apps/crm/help/custom-apps/
お問い合わせ
[email protected]
https://www.facebook.com/FujiXeroxSkyDesk
https://twitter.com/FujiXerox_SD
http://www.youtube.com/user/FujiXerox/search?qu
ery=skydesk