<?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>Sat, 04 Apr 2026 16:35:45 +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>ウェルス会員ポータル&#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="954101584d"
					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="e4be2e5a48"
					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>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列グリッド表示" loading="lazy"><figcaption>4列表示</figcaption></figure>
<figure>
    <img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/04_2col-grid.png" alt="2列グリッド表示" loading="lazy"><figcaption>2列表示（デフォルト）</figcaption></figure>
<figure>
    <img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/04_8col-grid.png" alt="8列グリッド表示" loading="lazy"><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="必須項目のみフィルター" loading="lazy"><figcaption>必須のみフィルター適用後</figcaption></figure>
<figure>
    <img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/05_2col-empty-filter.png" alt="空欄を隠すフィルター" loading="lazy"><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="セクション折り畳み" loading="lazy"><figcaption>セクション折り畳み状態</figcaption></figure>
<figure>
    <img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/07_2col-tab-mode.png" alt="タブ表示切替" loading="lazy"><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="未保存の変更バッジ" loading="lazy"><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レイアウト提案" loading="lazy"><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最適化適用後バッジ" loading="lazy"><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入力補助 テキスト入力" loading="lazy"><figcaption>自然言語テキストを入力</figcaption></figure>
<figure>
    <img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/10_ai-fill-preview.png" alt="AI入力補助 解析プレビュー" loading="lazy"><figcaption>解析結果を✓/✗でプレビュー</figcaption></figure>
<figure>
    <img decoding="async" src="https://test.creativecontentlabtokyo.com/wp-content/uploads/2026/04/10_ai-fill-applied.png" alt="AI入力補助 フォーム適用後" loading="lazy"><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 aria-disabled="true"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" 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>会員ポータルにログイン（準備中）</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="5c53482da8"
					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>
