Intents Overview
Extending APIs from one application to another is powerful. However, it requires bi-lateral agreements where implementors build to proprietary APIs. A standard language for interaction between applications allows us to create workflows on the fly, so that applications can discover and link to another without any prior knowledge.
FDC3 Intents define a standard set of verbs that can be used to put together common cross-application workflows on the financial desktop.
- Applications register the Intents & Context Data combinations they support in the App Directory
 - The App Directory supports application discovery by Intents and/or Context Data
 - Intents are not full RPC, apps don’t need to enumerate every function with an intent
 - FDC3 Standard Intents are a limited set, organizations can create their own intents
 
Using Intents
Combined with Context Data and App Directory standards, Intents enable rich service discovery on the desktop. For example:
Ask for a chart to be displayed
const result = await fdc3.raiseIntent("ViewChart", {
 type: "fdc3.instrument",
 name: "IBM",
 id: {
    ticker:"ibm"
  }
});
Ask a specific application to display a chart
const result = await fdc3.raiseIntent("ViewChart", {
 type: "fdc3.instrument",
 name: "IBM",
 id: {
    ticker:"ibm"
  }
}, "market-data-app");
Find applications that can start a chat
const intentApps = await fdc3.findIntent("StartChat");
Find available intents for a contact
const intentsAndApps = await fdc3.findIntentsByContext({
 type: "fdc3.contact",
 name: "Jane Doe",
 id: {
    email:"jane@doe.com"
  }
});