<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Salesforce &#8211; AI開発実践ラボ</title>
	<atom:link href="https://creativecontentlabtokyo.com/portfolio-cat/salesforce/feed/" rel="self" type="application/rss+xml" />
	<link>https://creativecontentlabtokyo.com</link>
	<description>AIで、作る力を手に入れる。</description>
	<lastBuildDate>Tue, 12 May 2026 03:11:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Salesforce ネイティブ アジャイルボード&#124;外部ツール不要のアジャイルプロジェクト管理を、Salesforce の中だけで完結させる</title>
		<link>https://creativecontentlabtokyo.com/portfolio/sf-agile-board/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Tue, 12 May 2026 03:11:04 +0000</pubDate>
				<guid isPermaLink="false">https://creativecontentlabtokyo.com/portfolio/sf-agile-board/</guid>

					<description><![CDATA[Salesforce を使っているのに、プロジェクト管理だけ別のツールにある CRM にある顧客データ、外部のタスク管理ツールにあるチケット、スプレッドシートに…]]></description>
										<content:encoded><![CDATA[<h2>Salesforce を使っているのに、プロジェクト管理だけ別のツールにある</h2>
<p>CRM にある顧客データ、外部のタスク管理ツールにあるチケット、スプレッドシートにある工数表——それぞれ別の場所に散らばった情報を毎週手でまとめていませんか？</p>
<p>Salesforce Agile Board は、その分断を解消します。作業項目・スプリント・レポートを、Salesforce のデータとして一元管理します。</p>
<div class="pf-stats-row">
<div class="pf-stat-block">
    <span class="pf-stat-num">30+</span><br />
    <span class="pf-stat-label">全画面・コンポーネント数</span>
  </div>
<div class="pf-stat-block">
    <span class="pf-stat-num">4</span><br />
    <span class="pf-stat-label">ロール対応<br />Admin / Manager / Member / Viewer</span>
  </div>
<div class="pf-stat-block">
    <span class="pf-stat-num">Phase 1</span><br />
    <span class="pf-stat-label">全機能 実装済み</span>
  </div>
</div>
<h2>主要機能</h2>
<div class="pf-features">
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="5" height="18" rx="1"/><rect x="10" y="3" width="5" height="12" rx="1"/><rect x="17" y="3" width="5" height="15" rx="1"/></svg></div>
<div class="pf-feature-body">
<h4>カンバンボード — ドラッグ＆ドロップで、ステータスを即更新</h4>
<p>Sprint ごとのカンバンボード。カード移動でステータスが Salesforce レコードに即時反映されます。WIP 制限・スイムレーン表示にも対応し、チームの作業状況をリアルタイムで把握できます。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg></div>
<div class="pf-feature-body">
<h4>バックログ管理 — Epic から Story へ。構造化された作業分解</h4>
<p>Epic / Story / Task / Bug を一覧管理。インライン編集、複合フィルタ、Sprint への割り当てをバックログ画面だけで完結させます。チケットをまたいでスクロールする手間がなくなります。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/><line x1="8" y1="14" x2="16" y2="14"/><line x1="8" y1="18" x2="13" y2="18"/></svg></div>
<div class="pf-feature-body">
<h4>WBS / ガントチャート — 依存関係と工数を、Salesforce 上のガントで把握する</h4>
<p>WBS 階層ツリーとガントチャートを統合表示。ドラッグで日付を変更し、依存関係線をリアルタイムで描画します。Excel インポートにも対応。<strong>Salesforce ネイティブでガントが動く唯一の選択肢</strong>です。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 20V10"/><path d="M12 20V4"/><path d="M6 20v-6"/></svg></div>
<div class="pf-feature-body">
<h4>スプリント管理 — 計画・開始・完了・繰越をワンストップで</h4>
<p>Sprint ごとの計画 SP・完了 SP・進捗バーを一覧表示。Sprint 比較ビューで直近 3 Sprint のベロシティを並列確認できます。スクラムマスターとチームメンバーそれぞれの視点で使い分けられます。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></div>
<div class="pf-feature-body">
<h4>レポート — バーンダウン・ベロシティ・累積フロー。Sprint の健全度を可視化</h4>
<p>4 タブ（バーンダウン / Epic バーンダウン / 累積フロー / スプリントレポート）。日次スナップショットを自動生成し、Sprint 終了後も履歴として参照可能です。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/></svg></div>
<div class="pf-feature-body">
<h4>ダッシュボード — Sprint 進捗・ベロシティ・期限超過件数。経営層にも見せられる数値</h4>
<p>6 つのメトリクスウィジェットをワンビューで確認。プロジェクトを切り替えるだけで表示が即時更新されます。定例会議の場でそのまま画面を共有できます。</p>
</div>
</div>
</div>
<h2>アーキテクチャへのこだわり</h2>
<ul>
<li>Controller → Service の一方向呼び出しによる責務の明確な分離</li>
<li>Trigger Handler パターンで Apex の複雑度を管理</li>
<li>9 カスタムオブジェクト（<code>Work_Item__c</code> が核心）</li>
<li>Epic / Story / Task / Bug をレコードタイプで区別</li>
<li>4 権限セット（Admin / Manager / Member / Viewer）で細粒度アクセス制御</li>
<li>2GP 管理パッケージ（namespace: <code>agb</code>）設計</li>
</ul>
<h2>さらに進化する機能</h2>
<table class="pf-roadmap-table">
<tbody>
<tr>
<th>利用可能（Phase 1）</th>
<td>カンバンボード、バックログ管理、WBS/ガント、スプリント管理、レポート（バーンダウン/ベロシティ/累積フロー）、ダッシュボード、設定</td>
</tr>
<tr>
<th>開発中（Phase 2）</th>
<td>Swimlane、WIP 制限、ステータス遷移ルール、課題間リンク</td>
</tr>
<tr>
<th>予定（Phase 3）</th>
<td>外部プロジェクト管理ツール連携、Slack 連携、CSV インポート、2GP 正式リリース</td>
</tr>
</tbody>
</table>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5931"
					data-ulike-nonce="a069ecd2de"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5931"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ウェルス会員ポータル&#124;Salesforce Experience Cloud</title>
		<link>https://creativecontentlabtokyo.com/portfolio/wealth-club-portal/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 04:17:14 +0000</pubDate>
				<guid isPermaLink="false">https://test.creativecontentlabtokyo.com/portfolio/wealth-club%e4%bc%9a%e5%93%a1%e5%90%91%e3%81%91%e3%83%9d%e3%83%bc%e3%82%bf%e3%83%ab%e3%82%b5%e3%82%a4%e3%83%88/</guid>

					<description><![CDATA[WEALTH CLUBをSalesforce Experience Cloud + LWCで再構築。堅牢なプラットフォーム上で同等のUI/UXを実現。]]></description>
										<content:encoded><![CDATA[<h2>プロジェクト概要</h2>
<p>Next.js/Vercelで構築したWEALTH CLUBのWebアプリケーションを、Salesforce Experience Cloud上にLightning Web Components（LWC）を使って再構築したプロジェクトです。Salesforceプラットフォームの堅牢なセキュリティとデータ管理機能を活かしながら、元のデザインと同等のUI/UXを実現しています。</p>
<h2>システム構成図</h2>
<figure>
<img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/03/wealth-member-portal-architecture-1.png" alt="ウェルス会員ポータル システム構成図" loading="lazy" /><figcaption>ウェルス会員ポータル — System Architecture</figcaption></figure>
<h2>主な機能</h2>
<div class="pf-features">
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/></svg></div>
<div class="pf-feature-body">
<h4>会員ダッシュボード</h4>
<p>予約状況・お知らせ・ポイント残高をリアルタイム表示。会員ランクに応じたパーソナライズ。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8h1a4 4 0 0 1 0 8h-1"/><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"/><line x1="6" y1="1" x2="6" y2="4"/><line x1="10" y1="1" x2="10" y2="4"/><line x1="14" y1="1" x2="14" y2="4"/></svg></div>
<div class="pf-feature-body">
<h4>レストラン予約</h4>
<p>提携レストランの検索・詳細・予約。予約確定時にPlatform Eventsで即時通知。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3"/><path d="M2 14a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v0"/><path d="M4 14v4h16v-4"/><line x1="6" y1="18" x2="6" y2="21"/><line x1="18" y1="18" x2="18" y2="21"/></svg></div>
<div class="pf-feature-body">
<h4>ラウンジ予約</h4>
<p>会員専用ラウンジの空き状況確認と即時予約。時間帯選択やオプション追加。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div>
<div class="pf-feature-body">
<h4>イベント管理</h4>
<p>会員限定イベントの一覧・詳細・参加申込。カレンダー連携でスケジュール管理。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg></div>
<div class="pf-feature-body">
<h4>会員プロフィール</h4>
<p>会員情報管理、ポイント履歴、通知設定。Shield暗号化で個人情報保護。</p>
</div>
</div>
</div>
<h2>技術的なポイント</h2>
<ul>
<li>Salesforce Experience Cloud上にLWCで構築</li>
<li>WEALTH CLUB（Next.js版）のデザインをLWCで忠実に再現</li>
<li>Apex Controllers + SOQL/SOSLによるデータアクセス</li>
<li>Platform Eventsによるリアルタイム通知</li>
<li>Shield（Platform Encryption）による個人情報保護</li>
<li>カスタムオブジェクト（会員、予約、イベント、ポイント履歴）のデータモデル設計</li>
</ul>
<h2>開発プロセス</h2>
<p>既存のNext.js版をリファレンスに、Salesforceプラットフォーム上での再実装をVibe Codingで実施。LWCコンポーネント設計からApex実装、Experience Cloudのテーマカスタマイズまで約5時間で完成しました。</p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5642"
					data-ulike-nonce="a6371ea0cd"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5642"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Salesforce App&#124;モバイル営業支援ツール</title>
		<link>https://creativecontentlabtokyo.com/portfolio/salesforce-mobile-app/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 16:57:56 +0000</pubDate>
				<guid isPermaLink="false">https://test.creativecontentlabtokyo.com/portfolio/salesforce-mobile-app/</guid>

					<description><![CDATA[Salesforceと連携したモバイル営業支援アプリ。取引先マップ・AIコンシェルジュ・名刺スキャンを搭載。]]></description>
										<content:encoded><![CDATA[<h2>プロジェクト概要</h2>
<p>外出先の営業担当者がSalesforceのデータにモバイルからアクセスし、取引先管理・商談確認・AI支援・名刺登録をワンストップで行えるネイティブアプリです。Salesforce REST APIとの連携により、リアルタイムのデータ同期を実現しています。</p>
<h2>システム構成図</h2>
<figure>
<img src=https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/03/salesforce-app-architecture.png alt="Salesforce モバイル営業支援 システム構成図" loading="lazy" /><figcaption>Salesforce モバイル営業支援 — System Architecture</figcaption></figure>
<h2>主な機能</h2>
<div class="pf-features">
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg></div>
<div class="pf-feature-body">
<h4>Salesforce認証 + 生体認証</h4>
<p>Connected App OAuth認証とデバイスの指紋/Face IDによる二段階のセキュアなログイン。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div class="pf-feature-body">
<h4>取引先マップ</h4>
<p>現在地周辺の取引先をピン表示。距離フィルタとRating色分けで重要顧客を即座に把握。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><rect x="8" y="2" width="8" height="4" rx="1" ry="1"/></svg></div>
<div class="pf-feature-body">
<h4>取引先・商談管理</h4>
<p>Salesforceの取引先・商談データをモバイルで検索・一覧・詳細表示。外出先でもリアルタイムに確認。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div>
<div class="pf-feature-body">
<h4>AIコンシェルジュ</h4>
<p>チャットUIで取引先のネクストベストアクションをAIが提案。音声入力にも対応。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg></div>
<div class="pf-feature-body">
<h4>名刺スキャン</h4>
<p>カメラまたはファイル選択でAI-OCR読取。取引先・取引先責任者としてSalesforceに自動登録。</p>
</div>
</div>
</div>
<h2>技術的なポイント</h2>
<ul>
<li>React Nativeによるクロスプラットフォーム開発（iOS/Android対応）</li>
<li>Salesforce Connected App OAuthによるセキュアな認証フロー</li>
<li>デバイスの生体認証（指紋/Face ID）による二段階認証</li>
<li>React Native Mapsで取引先の地理情報を可視化</li>
<li>AIエージェントによるネクストベストアクション提案</li>
<li>AI-OCRによる名刺読取→取引先自動登録パイプライン</li>
<li>Zustand + React Queryによる状態管理とキャッシュ戦略</li>
<li>Zodによる入力バリデーション</li>
</ul>
<h2>開発プロセス</h2>
<p>AIを活用したVibe Codingアプローチで、認証フロー設計からUI実装・API連携・AI機能統合まで約5日間で完成。Salesforce REST APIの仕様に合わせたデータモデリングと、モバイル特有のUX（マップ操作・カメラ連携・音声入力）をネイティブ品質で実現しました。</p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5726"
					data-ulike-nonce="8a46fcbb52"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5726"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CloudFormGenerator&#124;Salesforce帳票ジェネレータ</title>
		<link>https://creativecontentlabtokyo.com/portfolio/sf-form-generator/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Fri, 08 May 2026 17:42:05 +0000</pubDate>
				<guid isPermaLink="false">https://creativecontentlabtokyo.com/portfolio/sf-form-generator/</guid>

					<description><![CDATA[プロジェクト概要 SalesforceのデータをWordテンプレートに自動差し込みしてPDF帳票を生成する、Salesforceネイティブの2GP管理パッケージ…]]></description>
										<content:encoded><![CDATA[<h2>プロジェクト概要</h2>
<p>SalesforceのデータをWordテンプレートに自動差し込みしてPDF帳票を生成する、Salesforceネイティブの2GP管理パッケージです。外部サーバー不要でSalesforceのセキュリティポリシーをそのまま維持しながら、見積書・請求書・契約書・申請書などあらゆる帳票をノーコードで生成できます。</p>
<h2>主な機能</h2>
<div class="pf-features">
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg></div>
<div class="pf-feature-body">
<h4>Wordテンプレをそのまま持ち込める</h4>
<p>社内で使っているWordファイルをアップロードするだけ。プレースホルダーを自動検出し、フォント・印鑑欄・書式を作り直す必要がありません。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></div>
<div class="pf-feature-body">
<h4>ビジュアルマッピング — IT部門不要</h4>
<p>Salesforceオブジェクトの項目をドロップダウンで選ぶだけでマッピング完了。5階層のドリルダウンで親子オブジェクトの深い参照も対応。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg></div>
<div class="pf-feature-body">
<h4>WYSIWYGエディタ — 印鑑・バーコードも自由配置</h4>
<p>要素をドラッグ＆ドロップで配置。印鑑SVG・バーコード・QRコード・明細テーブル・計算式をビジュアルに設定できます。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4"/></svg></div>
<div class="pf-feature-body">
<h4>印鑑SVG自動生成（日本市場特化）</h4>
<p>テキスト入力で縦書き・横書きの丸印鑑をリアルタイム生成。手書きモードではキャンバスに直接描画した印影も登録可能。</p>
</div>
</div>
<div class="pf-feature-card">
<div class="pf-feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><path d="M9 15h.01M9 18h.01M12 15h3M12 18h3"/></svg></div>
<div class="pf-feature-body">
<h4>商談レコードから1クリックでPDF出力</h4>
<p>マッピング設定が完了すれば、あとは1クリック。Salesforceデータが帳票に自動差し込みされ、生成PDFはレコードに自動添付。</p>
</div>
</div>
</div>
<h2>競合との差別化</h2>
<p>既存の帳票ツールの多くは外部サーバー（クラウド）でPDF処理を行うため、ユーザー数・出力件数に応じたライセンス費用が発生します。CloudFormGeneratorはSalesforce LWC+ApexのみでPDF生成を完結させるため外部依存がなく、月額固定・出力件数無制限で提供します。現在お使いのツールよりランニングコストが高くなるケースはまずありません。詳しくは<a href="/form-generator">評価版インストールページ</a>をご覧ください。</p>
<h2>システム構成</h2>
<p>Salesforce LWCとApexのみで完結する完全Salesforceネイティブ構成。外部サーバー・外部APIは一切使用していません。LWCコンポーネント群がApexコントローラー経由で独自実装のOOXMLエンジン・PDF生成エンジン・SVG印鑑ジェネレーターを呼び出し、生成したPDFをContentDocumentとしてSalesforceレコードに自動添付します。2GP管理パッケージ（namespace: cclab）としてパッケージ化し、AppExchange配布に対応したライセンス管理機能を搭載しています。</p>
<figure>
<img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2026/05/sf-form-generator-architecture.png" alt="CloudFormGenerator システム構成図" loading="lazy" style="width:100%;height:auto;" /><figcaption>CloudFormGenerator — System Architecture（Salesforce LWC + Apex only）</figcaption></figure>
<h2>技術的なポイント</h2>
<ul>
<li>Salesforce LWC + Apexのみで完結（外部サーバー・外部APIなし）</li>
<li>OOXML処理エンジン独自実装 — .docxのプレースホルダー抽出・差し込み・レイアウト要素埋め込み</li>
<li>PDF出力2方式：標準版（Chromium・フォント制限なし・バーコードはJsBarcode）/ 大容量VF版（Flying Saucer・1,000項目超対応・バーコード/QRはQuickChart API利用）</li>
<li>印鑑SVGジェネレーター — Canvas描画による手書き印影登録にも対応</li>
<li>バーコード / QRコード生成 — 6種類対応（Code128・JAN-13・JAN-8・Code39・NW-7・ITF-14）。標準PDF版はJsBarcode（外部依存なし）、大容量VF版はQuickChart API経由で生成</li>
<li>5階層ドリルダウンマッピング — 親子・孫オブジェクトの深い参照を視覚的に設定</li>
<li>明細テーブル自動改ページ — 行数に応じて複数ページに自動分割</li>
<li>テーブル行カラー設定 — 奇数行・偶数行に個別の背景色を設定可能（ゼブラストライプ対応）</li>
<li>2GP管理パッケージ（namespace: cclab）— AppExchange配布に向けたライセンス管理機能搭載</li>
</ul>
<h2>開発プロセス</h2>
<p>AI駆動開発アプローチで、要件定義・Apex設計・LWC実装・OOXMLエンジン開発を並行して進行。Salesforceのヒープ制限・SOQL上限・管理パッケージのコンパイル制約など、プラットフォーム固有の課題を一つひとつ解決しながら実用レベルの品質を実現しました。Sandboxで無料評価できるため、既存帳票との置き換え可否を検証してから導入判断できます。</p>
<h2>サポート・免責事項</h2>
<div class="pf-support-policy">
<h3>対象</h3>
<p>本製品は法人・事業者のみを対象としています。個人（消費者）へのご提供はしておりません。</p>
<h3>月額費用の位置づけ</h3>
<p>月額費用（¥19,800〜）はサポート・保守サービスの対価です。パッケージ本体は一度インストールすれば、サポート終了後もお客様のSalesforce環境で引き続きご利用いただけます。</p>
<h3>サポート対応範囲</h3>
<ul>
<li>バグ報告の受付：メール・お問い合わせフォーム経由</li>
<li>回答目安：3営業日以内（個人運営のため保証はできません）</li>
<li>修正リリース：重大なバグは優先対応、軽微なものは次回バージョンで対応</li>
</ul>
<h3>2GP管理パッケージについての重要事項</h3>
<p>CloudFormGeneratorはSalesforce 2GP管理パッケージとして提供されています。Salesforceの仕様上、バグ修正版へのアップグレードは「アンインストール → データバックアップ → 再インストール」の手順が必要になる場合があります。導入前にSandbox環境での十分な評価を強く推奨します。本番環境への適用はお客様の判断と責任において行ってください。</p>
<h3>サポート終了（EOL）について</h3>
<p>開発者の都合によりサポートを終了する場合は、少なくとも3ヶ月前にサイト上およびご登録のメールアドレス宛に告知します。サポート終了日をもって月額費用の請求を停止します。サポート終了後も、インストール済みパッケージはお客様のSalesforce環境で引き続き動作しますが、バグ修正・セキュリティ対応・お問い合わせ対応は提供されません。なお、本製品は外部サーバーに依存しない設計のため、サポート終了によって即座に機能が停止することはありません。</p>
<h3>免責事項</h3>
<ul>
<li>評価利用（Sandbox/Developer）中に生じた損害について、開発者は責任を負いません</li>
<li>Salesforceのバージョンアップによる動作影響は保証の対象外です</li>
<li>有償サービスに関する詳細な条件は別途サービス利用契約書に定めます</li>
<li>個人開発製品であることをご理解のうえ、ご利用ください</li>
</ul>
</div>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5886"
					data-ulike-nonce="281eed3d3d"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5886"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>AI汎用入力フォームLWC</title>
		<link>https://creativecontentlabtokyo.com/portfolio/sf-universal-record-form/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 16:35:45 +0000</pubDate>
				<guid isPermaLink="false">https://test.creativecontentlabtokyo.com/portfolio/salesforce-%e6%b1%8e%e7%94%a8%e5%85%a5%e5%8a%9b%e3%83%95%e3%82%a9%e3%83%bc%e3%83%a0%e3%82%b3%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%8d%e3%83%b3%e3%83%88-universalrecordform/</guid>

					<description><![CDATA[任意のSalesforceオブジェクトに対応する高密度入力フォームLWCコンポーネント。Agentforce AIによるレイアウト最適化と、自然言語テキストからのAI自動入力補助機能を搭載。]]></description>
										<content:encoded><![CDATA[<h2>背景・課題</h2>
<p>Salesforceの標準フォームは1列表示が基本で、項目数が多いオブジェクトでは大量のスクロールが発生します。また、AI（Agentforce）との連携もカスタム実装が必要でした。</p>
<p>このコンポーネントは「<strong>あらゆるSalesforceオブジェクトに対応できる、高密度かつAI搭載の汎用入力フォーム</strong>」として設計しました。App Builderに配置するだけで動作し、objectApiNameを渡すだけで取引先・商談・カスタムオブジェクトすべてに対応します。</p>
<h2>主要機能</h2>
<h3>列数切替（2 / 4 / 6 / 8列）</h3>
<p>ツールバーのボタンで列数をリアルタイム切替。設定はlocalStorageに保存され、次回アクセス時に自動復元されます。8列表示では1画面に数十項目を表示でき、入力効率を大幅に向上させます。</p>
<div class="pf-feature-ss pf-feature-ss--3">
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/04_4col-grid.png" alt="4列グリッド表示" /><figcaption>4列表示</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/04_2col-grid.png" alt="2列グリッド表示" /><figcaption>2列表示（デフォルト）</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/04_8col-grid.png" alt="8列グリッド表示" /><figcaption>8列表示（最高密度）</figcaption></figure>
</div>
<h3>フィルタリング</h3>
<p>「必須のみ」「空欄を隠す」の2つのトグルで表示項目を絞り込み。必要な項目だけに集中でき、大量項目のオブジェクトでも快適に入力できます。</p>
<div class="pf-feature-ss pf-feature-ss--2">
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/05_2col-required-filter.png" alt="必須項目のみフィルター" /><figcaption>必須のみフィルター適用後</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/05_2col-empty-filter.png" alt="空欄を隠すフィルター" /><figcaption>空欄を隠すフィルター適用後</figcaption></figure>
</div>
<h3>セクション折り畳み &amp; タブ表示</h3>
<p>セクションヘッダークリックで展開・折り畳みを切替。状態はlocalStorageに保存されます。タブ表示に切り替えると、セクションをタブUIで切り替えられます。AI適用後はAIが定義したセクション構成に変わります。</p>
<div class="pf-feature-ss pf-feature-ss--2">
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/06_collapsed-section.png" alt="セクション折り畳み" /><figcaption>セクション折り畳み状態</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/07_2col-tab-mode.png" alt="タブ表示切替" /><figcaption>タブ表示切替モード</figcaption></figure>
</div>
<h3>ダーティ状態管理 &amp; 変更ハイライト</h3>
<p>フォームロード時の値を記録し、変更があった項目を黄色ハイライト表示。変更がある場合のみ保存・キャンセルボタンを表示。Ctrl+S（Cmd+S）でも保存できます。</p>
<div class="pf-feature-ss pf-feature-ss--1">
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/03_dirty-badge.png" alt="未保存の変更バッジ" /><figcaption>変更があった項目のハイライトと「未保存の変更あり」バッジ</figcaption></figure>
</div>
<h3>Agentforce AI レイアウト最適化</h3>
<p>「AI最適化」ボタンをクリックすると、AgentforceのFlex Prompt Templateがオブジェクトの項目定義を解析し、最適なレイアウト（列数・セクション構成・グリッドスパン）を提案します。提案はカスタムオブジェクト（UsfLayoutConfig__c）にサーバー保存され、チーム全員が同じ最適レイアウトを利用できます。</p>
<div class="pf-feature-ss pf-feature-ss--2">
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/09_ai-advisor-proposal.png" alt="Agentforce AIレイアウト提案" /><figcaption>AI提案レイアウトのプレビュー（設計意図も日本語で表示）</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/09_ai-applied-badge.png" alt="AI最適化適用後バッジ" /><figcaption>適用後に「✦ AI最適化済み」バッジを表示</figcaption></figure>
</div>
<h3>AI 入力補助（自然言語 → フォーム自動入力）</h3>
<p>会話メモ・メール文章などの自然言語テキストをペーストすると、AgentforceのPrompt Templateが内容を解析して対応するフィールドに自動入力します。確信度（high/low）で✓/✗プレビュー表示し、ユーザーが確認してから適用できます。</p>
<div class="pf-feature-ss pf-feature-ss--3">
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/10_ai-fill-input.png" alt="AI入力補助 テキスト入力" /><figcaption>自然言語テキストを入力</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/10_ai-fill-preview.png" alt="AI入力補助 解析プレビュー" /><figcaption>解析結果を✓/✗でプレビュー</figcaption></figure>
<figure><img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/10_ai-fill-applied.png" alt="AI入力補助 フォーム適用後" /><figcaption>フォームに自動入力された状態</figcaption></figure>
</div>
<h2>技術的なポイント</h2>
<ul>
<li><strong>任意オブジェクト対応</strong>: objectApiNameを渡すだけで取引先・商談・カスタムオブジェクトすべてに対応</li>
<li><strong>Prompt Template設計</strong>: Agentforce Flex Templateで列数・セクション・スパンをJSON出力。Setup &gt; Prompt Builderで手動作成・アクティブ化</li>
<li><strong>localStorageキャッシュ</strong>: 列数・折り畳み状態・AIレイアウトをobjectApiName単位でブラウザ保存</li>
<li><strong>UsfLayoutConfig__c</strong>: AIが提案したレイアウト設定をカスタムオブジェクトにサーバー保存し組織共有</li>
<li><strong>Enter移動</strong>: フィールド入力中のEnterキーで同列の次行フィールドへ移動（Excel的挙動）</li>
</ul>
<h2>コンポーネントのダウンロード</h2>
<p>会員の方は、会員ポータルから本製品のベータ版インストール URL を確認することができます。</p>
<p><button class="pf-demo-btn pf-demo-btn--disabled" disabled="disabled" aria-disabled="true">会員ポータルにログイン（準備中）</button></p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5762"
					data-ulike-nonce="9a9012a918"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5762"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
