コラム詳細

Salesforceのプログラミング言語 Apex(エーペックス)とは?

2023年04月13日

  • Salesforce
  • 使い方

はじめに

Salesforce導入・定着活用におけるお困りごとを解決する「セラクCCC」ライターチームです。

 

Salesforce には、効率的に顧客関係管理や営業支援を行うための自動化機能があります。
しかし、この自動化機能を用いても複雑なビジネスプロセスや独自の業務フローの自動化が難しい場合があります。こういったケースに対応するために、Salesforceの機能をカスタマイズする Apex(エーペックス) というプログラミング言語が用意されています。

本記事では「Salesforceに自社特有のビジネスロジックを追加したいが、プログラミングを経験したことがない」という方向けにApexの基礎をご紹介します。

 

Salesforceフロー機能による営業現場効率化のススメ
Apexと比較されやすい“ノーコード自動化”と活用事例をご紹介!
解説資料のダウンロードはこちらから

 

Salesforce(セールスフォース)のApex(エーペックス)とは?

Salesforce Apex(エーペックス)とは、セールスフォース社の提供するSalesforce専用のプログラミング言語のことで、世界的に普及しているJavaに似ており、プログラミング経験のある方にとって直感的に扱いやすいコードです。ボタンクリックやレコード操作など、ユーザの動作に対してアプリケーションの細かなアクションを指定できます。

また、ビジネスで使用するロジックや細かなUIの動作制御にも使われます。

 

システム管理者必見!数式項目の留意点 よくある数式の活用例
解説資料のダウンロードはこちらから

 

※参考:Apexとは? | Apex開発者ガイド | Salesforce開発者

 

SalesforceのApexの特徴

Apexを扱うためにはプログラミングの知識や技術が必要ですが、使いこなせば細かく複雑な自動化の設定が可能です。
Apexを活用すれば、レコードの作成や更新などの前後のタイミングに自動でアクションを行うよう設定し、業務の一部を自動化できます。

 

また、自動化したアクションは、後ほど説明する「フロー」で使用される Flow Builder や Process Builder といった自動化ツールから呼び出したり、外部のアプリケーションと連携したりすることも可能です。
ApexはSalesforceのアプリ開発でも使用されており、習熟すれば業務の自動化以外にもさまざまな活用が可能です。

 

Apexトリガーとは?

Apexトリガーは「どのタイミングで行動するか?」を記述したタイマーです。レコードの挿入と更新、削除の3つのアクションの前後のほかに、レコード復元後の合計7つのタイミングを設定できます。

 

タイミング 指定できる動作 特徴
before insert レコードがDBに保存される前に起動されます。
レコードがDBに保存される前なので、
Trigger.newを直接変更できます。
update
delete
after insert レコードがDBに保存された後に起動されます。
ただし、まだコミットはされていないため、
Trigger.newを直接変更することはできませんが、
DML操作で元レコードの更新・削除を行うことができます。
update
delete
undelete 削除された後、undelete DML操作によって
ごみ箱から復元されたレコードに対してのみ機能します。

<Apexトリガーの種類>

 

Apexクラスとは?

Apexクラスとは、「どんなプログラムを開始するか」を記述する設計図です。

 

    • 「どのレコードを対象とするか」というオブジェクトの状態を指定する“変数”
    • 「挿入や更新、削除などアクションを行うか」という動作を制御する“メソッド”

 

これらを設定します。ApexクラスはApexトリガーから呼び出すだけでなく、Flow Builderなど別の機能から呼び出すことも可能です。

 

Salesforce定着活用に関する資料をダウンロード

 

SalesforceのApexトリガーとApexクラスの違い

Apexトリガーは、レコードの作成・更新・削除など「イベント発生時に自動で実行される処理」を書くための仕組みです。一方Apexクラスは、任意のタイミングで呼び出せる「機能やロジックを集約したコードの構成要素」です。

 

つまり、トリガーは“いつ実行されるか”が決まっている自動処理、クラスは“何を実行するか”を格納する仕組みという点で異なります。

 

ー初心者向けーSalesforce活用入門SalesforceのAPIとは?概要と仕組みを解説!
解説資料のダウンロードはこちらから

 

Apexのプログラミング開始手順

Apexを使ってプログラミングを開始する手順をご紹介します。

手順としては下記の3つの方法があります。

 

    • [設定] から [開発者コンソール] を開いて開始
    • [クイック検索] から開始
    • オブジェクトの管理設定から [トリガー] に移動して開始

 

コードの記述には専門的な知識が必要なため、難しいと感じられる場合があるかもしれません。

 

Apexに関するお悩みを無料でご相談

 

Apexを使うべき場合とは?

フローとApexそれぞれの強み

<フローとApexそれぞれの強み>

 

Salesforceには、「Salesforceフロー」と呼ばれる自動化機能群があり、簡単な自動化はローコードで実現できます。Apexは高性能ですが、常にApexがフローより優れているわけではありません。
たとえば、画面ウィザードはフローで作る方が簡単にコストを抑えられます。

 

一方で、複雑なリスト処理などはApexが得意です。目的や社内のリソース、今後の活用の方針などさまざまな要素を検討して、どの自動化ツールを使うかを決定すべきです。
比較には、Salesforceだけでなく外部のアプリやツールとの連携なども考えたい場合もあるので、専門家に相談するのがお勧めです。

 

また、Apexとフローの使い分けについて詳しく知りたい方は以下記事も参考にしてみてください。
※関連記事:Salesforceのフローとは?作成方法やプロセスビルダーとの違いも

 

Salesforceの定着・活用でお困りの方はセラクCCCにご相談ください

本記事ではSalesforce専用のプログラミング言語である Apex について、簡単にご紹介しました。Apexは高性能ですが開発者向けの機能で、活用には高度な知識が求められます。

 

Salesforceを使った業務の自動化を検討する際、

「プログラミング経験のある人材が社内におらず、Salesforceフローではうまく自動化できないのでApexを学びたい」
「標準機能とApexのどちらを使って自動化したほうがよいのだろうか」

といったお悩みやご要望は、ぜひセラクCCCにご相談ください。

 

セラクCCCには、400名(2025年12月時点)を超える専門コンサルタントが在籍しています。Salesforceの定着や活用にお悩みの方は、ぜひ以下の資料をダウンロードください。

Salesforceでお悩みなら、
まずはお気軽に
お問い合わせください

この記事の執筆者

*

株式会社セラクCCC

株式会社セラクCCCは、Salesforceをはじめとするクラウドシステムの定着・活用支援を担うカスタマーサクセス企業です。
Salesforce Navigator プログラムの【Managed Services】分野のExpert認定の詳細はこちら

当社は、セラク(東証スタンダード上場)のグループ会社です。

この記事の監修者

Salesforce活用コンサルタント

新卒から約5年間福祉領域の人材紹介業に従事。キャリアアドバイザー職、法人営業職を経てマーケティング部に異動。この際、Salesforceを活用したテレアポの効果的な手法探索、およびSalesforceとMAツールを連携した集客の立案に携わりカスタマーサクセスおよび、業務に効果的なCRMの在り方を更に高めたいという思いで2021年にセラクCCCに入社。
現在は社内で使用しているSalesforce保守運用業務に従事し、営業、経理、バックオフィス等各職種で必要な機能をヒアリングから実装、運用保守まで担当している。

・Salesforce認定保有資格
-Platform アドミニストレーター 上級
-Sales Cloud コンサルタント
-Service Cloud コンサルタント
-Marketing Cloud Account Engagement コンサルタント
-Platform Sharing and Visibility アーキテクト
-その他多数(Experience Cloud、Field Service、Data アーキテクト、AI アソシエイト、アプリケーションビルダーなど)
※資格の詳細はSalesforce公式資格ページをご覧ください。

※Salesforceの定着活用に関する記事監修を多数

else

  • TOP
  • コラム一覧
  • Salesforceのプログラミング言語 Apex(エーペックス)とは?