- Flowでの技
- スクリーンフロー
- スケジュールFlow
- Flow scheduled path
- Salesforceの改行のまとめ
- モバイルアプリとフロー
- フローのデバック
- Template-Triggered Prompt Flow
Apexでは編集不可項目には代入ができないようになっていて、フローでもそれは同じです。
Apexで編集不可を含めて全ての項目をSOQLで取得してINSERTを行ったとしても、IDを空にしておけばエラーにはなりません。
フローではIDを空にしなくても、レコードの作成要素ではIDが無視されます。
選択的に省くというよりも、省かなくてもDMLの際のロジックで上書きされるという感じです。
決定要素で条件と違う場合でかつ、デフォルトの結果がなければ、フローはそこで止まるみたいにことが回答されています。
If the default outcome doesn't point to anything and none of the other choices are true the flow should stop.
https://www.reddit.com/r/salesforce/comments/jx9fmn/how_flow_default_outcome_works/
Please check this article.
Flow - Create a flow that updates the discount email sent tickbox automatically when the date the email was sent field is filled in.
https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QKHDKSA5
そうですね、なぜ最初からそのように構築することにしたのかはわかりませんが、フローを終了させることが、このフローに関するほとんどの問題の解決の鍵です。
This means that somewhere else in your flow, you are referencing this element. Somewhere you are referencing it. When you remove that reference you'll be able to delete it.
下記の設定で実装可能かと思います。
- カスタムオブジェクトAのカスタム項目としてチェックボックス項目を作成
- フロー①でカスタムオブジェクトAのレコードを削除する前に、上記のチェックボックス項目をTRUEに更新
- フロー②の開始要素のエントリ条件で上記のチェックボックス項目がFALSEの場合のみ起動するように設定
マスター({!$Record.Account.MasterRecord} )でなくて取引先Idを選んでみてください。
LPAD(TEXT(VALUE({!$Record.Name}) +1),1,"0")
Experience Builder
Which Experience Builder page types support the Flow component?
All Experience Builder pages
- My Pages: The standard pages that you create. (The object pages that you create appear under Objects.)
- Template Pages: The default pages that come with the site template.
- Objects: The pages of the objects in your site, which include the object’s record detail, list, and related list pages.
- Generic Record Pages: These generic pages are used to display record information for a Salesforce object when custom object pages don’t exist.
- Login Pages: The default login pages that come with the site template.
サブフロー
I was able to resolve my issue. I ended up rebuilding my subflow as an Autolaunched Flow since that is something that cannot be changed after a subflow is created. It was an obvious mistake by me.
問題を解決できました。サブフローの作成後に変更できないものであるため、サブフローを自動起動フローとして再構築することになりました。それは私の明らかな間違いでした。
Sandboxで消せない?
私たちは Salesforce に問題を提起しましたが、彼らは「サンドボックスを更新する」以外の解決策を提示してくれませんでした。まるでそれが大したことではないかのように。
壊してしまったのに、修理する準備ができていません。対応にがっかりしました。
数式
ISCHANGED({!$Record.Supplier_id__c})
- フローでの数式
- Help on Opportunity Push Counter Flow Formula
- addmonths({!$Record.Date1__c},-1)を使って決定要素で起動させる
- 数式を使った時にGMTになるのをローカルタイムに変更したい
- getting the same HL_ENCODED instead of just the hyperlink text.
- 選択肢の選択?Choice selections
- 私のフローの選択リスト レコード セットが 200 レコードしか取得しないのはなぜですか
As you may know, Salesforce limits the Record Choice Set and Picklist Choice Set to 200 items. For complex use-cases involving a long list of records, use the Collection Choice Set.
https://crmbrew.com/salesforce-flow-choice-lookup-component/
Nullの時の判定
Account_Field__c > IsNull > {!$GlobalConstant.False}
作成例
- 納入商品の作成
- 商談の更新で関連する取引先の取引先責任者を更新する
- フローで 月曜日 18:00〜 火曜日 5:00 に作成されたレコードを対象外にする
- トラブル履歴の作成から90日が経過した行動レコードに紐づく取引先のチェックボックス項目をFALSEにするフロー
- 電子メールメッセージの送信時に連絡先レコードフィールドを更新するにはどうすればよいですか (Lightning)?
- 商談に紐づくカスタムオブジェクトの項目値の合計を商談に入れたい
- レコードトリガーフローの数式にて前月のレコードを参照したい
- キャンセル待ちの処理
- フロー:商談で最終活動日から一定数の日付が過ぎたら通知する
できない例
- プロファイルのレコードタイプのセキュリティ設定を尊重しないフロー
- フローを使ってユーザ、リードのNameフィールドを参照できない
- クイックアクションに使用できないフロー
- 承認申請された承認プロセスを、フローから承認、却下する方法
フローを使って承認、却下する機能はアイデアにはあがっているようです。
Approve or Reject records through Process builder or Flow
https://ideas.salesforce.com/s/idea/a0B8W00000GdcOtUAJ/approve-or-reject-records-through-process-builder-or-flow
以下でもApexを使っていますね。
https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000HESplSAH
フロービルダーにtel関数が表示されません。アイデアをログに記録できます。
その他
- %を含むフィールドを含むフロー内の数式。
- Flow to change user profile and role upon deactivation
- 電話番号の設定?
- 選択リストのフィールドが7日後に変更されない場合にユーザーに通知するフローを作成するにはどうすればよいですか?
- フローのレコード取得時に複数選択リストが条件に使えない
- フローは 1 つのレコードでは機能するが、一括では機能しない Apex
- HTTP コールアウト ベータ版
- フローの最善策について
- フローから新規ユーザ作成した際の初回ログインメールの作成
移行ツールの制限
lightning:availableForFlowScreens を使ってオブジェクトにリダイレクトさせる?
When a flow is run from Flow Builder or a direct flow URL (https://yourDomain.my.salesforce.com/flow/MyFlowName), force and lightning events aren’t handled.
- Considerations for Configuring Components for Flows
- e.force:editRecord in Flow - e.force:navigateToSObject
I don't think redirects work with this lightning:availableForFlowScreens option.
Consider if you can use the following Or I think there is no choice but to implement everything with custom components.
the Run an Autolaunched Flow from a Custom Button unit
I found it....it was my mistake and I kept missing it everytime I was checking the individual steps. I had created a Detail Page Link and not a Detail Page Button, that's why it wasn't showing. So sorry but maybe someone else will run into the same issue at some point and can learn from my mistake :)
私はそれを見つけました....それは私の間違いであり、個々のステップをチェックするたびに見逃していました.詳細ページ ボタンではなく詳細ページ リンクを作成したため、表示されませんでした。申し訳ありませんが、他の誰かがいつか同じ問題に遭遇し、私の過ちから学ぶことができるかもしれません:)
非同期実行パスでRecord_Priorの値を参照する方法
英語ですが同じ質問があります。
対応しないので、以前の値は別途別のフィールドとして持っておくようなことが回答されています。
As of the time of this answer, you cannot use PRIORVALUE or $Record__Prior in an Asynchronous Path and see the values before the path executes. This is being considered for Run Asynchronously, but not for Scheduled Paths.
If you need to check what the prior value was, you need to make separate arrangements for this, such as saving the previous value in a different field or record. This question has an answer that explains it:
Obtaining Prior Record Values Using Asynchronous Flows
https://salesforce.stackexchange.com/questions/372536/obtaining-prior-record-values-using-asynchronous-flows
スケジュール済みパス
フローを使って複数の招待者を登録する
EventRelationオブジェクトを使うようなことが回答されています。
https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000A8pmhSAB
Apexを使う
Apexの戻り値の変数設定はどうなっていますか?
例えばテキスト型のコレクション変数として返す場合にはList>のように2重にList型として定義しないと機能しません。不思議です。
global class MultiSelectFlowValues {
@InvocableMethod
public static List<list<string>> CheckValues(List<string> values) {
if(!(values.isEmpty())){
ist<list<string>> finalLst = new list<list<string>>();
for (String tStr : values) {
List<String> lstnew = tStr.split(';');
l
finalLst.add(lstnew);
}
return finalLst;
}
else return null;
}
}
- apex側の変数がID型のためなのか、nullを送ると、 @InvocableVariable の変数に代入するタイミングで以下Exceptionが発生してしまっております。StringException: Invalid id ](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Yw2UD)
ダミーのIdを使えるならば、もう一つBoolean型の変数を作って、この変数がtrueの時は実際にはダミーのIdを使わずに新規作成した取引先のIdを使うように処理できると思います。
外部認証
Yes, I was trying to create an HTTP callout. The solution I found is to run it in an asynchronous path.
FYI, in that case, you need to specify the input condition as a formula and also check "Only if the record is updated to meet the condition requirements". It's a little difficult to solve.
はい、HTTPコールアウトを作成しようとしていました。私が見つけた解決策は、非同期パスで実行することです。
参考までに、その際には、入力条件を数式として指定し、「条件要件を満たすためにレコードが更新された場合のみ」にもチェックを入れる必要があります。解決するのは少し難しいです。
Missing required input parameter: SObjectRowId Error ID: 217099560-186965 (-1984209710)
解析ツール
まったく使ったことはないですが、SweepというAIを使った可視化ツールがあるみたいです。
このページを見るとStart Freeというボタンがありますね。
https://www.sweep.io/why-sweep/
同じ会社(製品)のAppExchageもありますが、有料みたいです。
https://appexchange.salesforce.com/appxListingDetail?listingId=a0N4V00000HDrUBUA1&tab=r