import type {App} from "attio"
Register a call recording insight text selection action by creating an
App.CallRecording.Insight.TextAction and adding it to the callRecording.insight.textActions
array of your app.ts file.
Example
import type {App} from "attio"
import {showDialog} from "attio/client"
import {ProcessCallInsightDialog} from "./your-code"
export const processCallInsightsAction: App.CallRecording.Insight.TextAction = {
id: "process-call-insights",
label: "Process insights",
onTrigger: async ({markdown, text}: {markdown: string; text: string}) => {
await showDialog({
title: "Process call insights",
Dialog: ({hideDialog}: {hideDialog: () => void}) => {
return <ProcessCallInsightDialog markdown={markdown} text={text} onDone={hideDialog} />
},
})
},
}
import type {App} from "attio"
import {processCallInsightsAction} from "./process-call-insights"
export const app: App = {
callRecording: {
insight: {
textActions: [processCallInsightsAction],
},
// ...
},
// ...
}
Arguments
The unique identifier for this call recording insight selection action.It is only used internally; never shown to the user.
A human-readable label of the call recording insight selection action that will be shown to the
user when they make a text selection on a call recording insights.
An AttioIcon to display beside the label.If no icon prop is provided, it will default to your app’s icon that you set up in the
Developer dashboard.
onTrigger
async (selection: {text: string; markdown: string}) => Promise<void>
The function to run when the action is triggered. You’ll likely want to show a
dialog or run a server function here.The function will be given an object containing:
markdown – a markdown respresentation of the text selected (e.g. may include bullet points)
text – the plain text of the text selected