FDC3 intents
Intents are standardized verbs that an app raises to another app to instruct it to do an action. Symphony both listens to some intents coming from third party apps, as well as raises intents.
Last updated
Intents are standardized verbs that an app raises to another app to instruct it to do an action. Symphony both listens to some intents coming from third party apps, as well as raises intents.
Last updated
Symphony listens to StartChat intents, that allow an app to initiate a chat on Symphony with an optional message, and an optional list of contacts.
When a StartChat intent is received by Symphony, a modal opens where the user can review the list of recipients and the content of the message, and then send the message.
It is also possible to bypass the modal to directly send the message using the silent
parameter.
Message
You can attach a message context to the intent. The message may contain images, $cashtags, @mentions, as well as action buttons (more info below), which on click will trigger a local intent with context data. The format of the message is presented here.
Recipients
You can preset the list of recipients, identified through their email addresses.
When several contacts are listed, the message is sent to a group chat with all the contacts in the list. This behavior can be changed with the groupRecipients
parameter.
If groupRecipients
parameter is true, all recipients will receive the message in a single group chat. If a chat with the same list of participants exists, it will be reused. Otherwise a new group chat will be created.
If the groupRecipients
parameter is false, each recipient will receive a separate message. Please note that in this case the user will also be able to add existing chat rooms to the list of recipients in the Send chat modal.
Messages sent through the StartChat intent can contain FDC3 action buttons with predefined intents and context data.
The FDC3 action buttons will be displayed as inline buttons in the message. When such a button is clicked, Symphony either raises the predefined intent or broadcast the predefined context data.
Read here how to add FDC3 action buttons to your messages.
Note: Chat bots can also send action buttons, learn more here.
As part of the support of FDC3 version 2.0, the StartChat intent now returns to the calling app the IDs of the chat conversations where the message has been sent. It is then possible to directly target these rooms in a further call, using the Send Chat Message intent described below.
Similar to StartChat, the SendChatMessage intent allows to send a chat message directly in a specific chat in Symphony, by specifying the identifier of a chat room.
This works particularly well in combination with the StartChat intent, which now returns the identifier of the chat conversations where the message has been sent.
Note: intentResolution.getResult()
was introduced with FDC3 2.0. If you are using an earlier version of the standard, getting the result of the resolution of an intent is not possible.
Symphony listens to ViewMessages intents, that allow FDC3 apps to display in Symphony the list of chat messages that contain a specified $cashtag or #hashtag.
When a ViewMessages intent is received, Symphony displays a modal with the Signal View, showing all matching messages.
Note: Currently, Symphony only supports a single context. If several contexts are provided, Symphony will only take the first one into account. Several hashtags can however be specified as a single string (each hashtag separated by a space). In that situation, messages that match at least one of the hashtags will be displayed.
Symphony listens to ViewChat intents, that allow FDC3 apps to display an existing chat in Symphony based on its streamId, or based on a list of contacts.
If you are using FDC3 over ECP Focus mode, you can also use ViewChat to remove a conversation from being displayed. To do that use the ViewChat intent with a empty context.
Note: When using ViewChat with a list of contacts, a group chat with these contacts is created and displayed, if it doesnt already exist.
When hovering over $cashtags, an FDC3 ViewInstrument action will be displayed.
On click, Symphony will raise the ViewInstrument intent, with the ticker as context data (fdc3.instrument).
Example of context data received:
As Symphony transitions from the legacy free-text cashtags to the new enhanced tags, the context data received will be also updated to provide more information (e.g. full ticker, ISIN, MIC, etc)
When hovering on a user mention or name in a Symphony chat, a profile hovercard is displayed, which now contains a new FDC3 View contact button.
On click, Symphony will raise the ViewContact intent, with the user as context data (fdc3.contact).
The new action is also available from the profile pages.
Example of context data received:
For external users and depending on how profile visibility has been configured, the email may not be present in the context data. By default, the email address of external users who are not yet connected will be hidden, and will be visible once the user is connected to you.
When hovering on a message, you can now export that message to local apps in markdown format by clicking on the Share message button in the message context menu.
The intent raised is CreateInteraction with a fdc3.interaction context type. The interaction context contains both the message as well as the list of participants.
Exporting a message is disabled in copy-disabled chats.
The list of chat members is only included for rooms with 20 members or less. When there more than 20 members, only the initiator of the message is listed.
Symphony can trigger custom intents and context data from in-chat FDC3 action buttons.
When clicking such a button, Symphony raises the predefined intent or broadcasts the predefined context data to local apps.
Read here how to add FDC3 action buttons in your chats.