* feat: lang support * fix: type errors * feat: select voice agent * refactor: address feedback * refactor: address feedback * refactor: missing import * fix: types * feat: add inbound calls * chore: formatting * chore * feat: finish inbound call * chore: formatting * fix: update bug * fix: types * refactor: Agent Configuration Sheet (#23930) * refactor: agent configuration sheet * chore: use default phone numbre * refactor: improvements * refactor: improvements * fix: types * fix: feedback * chore: * fix: feedback * fix: prompt * fix: review * fix: review * refactor: class * refactor: class * refactor: rename * Update apps/web/public/static/locales/en/common.json * Update apps/web/public/static/locales/en/common.json * chore: update set value * fix: remove index * fix: type error * fix: update tetss * fix: use logger * refactor: don't use static * fix: type * fix: schema * refactor: --------- Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
|
|
import type { RetellLLMGeneralTools } from "@calcom/features/calAIPhone/providers/retellAI/types";
|
|
import { calAIPhoneWorkflowTemplates } from "@calcom/features/calAIPhone/workflowTemplates";
|
|
|
|
import type { TrpcSessionUser } from "../../../types";
|
|
import type { TCreateInputSchema } from "./create.schema";
|
|
|
|
type CreateHandlerOptions = {
|
|
ctx: {
|
|
user: NonNullable<TrpcSessionUser>;
|
|
};
|
|
input: TCreateInputSchema;
|
|
};
|
|
|
|
export const createHandler = async ({ ctx, input }: CreateHandlerOptions) => {
|
|
const { teamId, name, workflowStepId, templateWorkflowId, ...retellConfig } = input;
|
|
|
|
const aiService = createDefaultAIPhoneServiceProvider();
|
|
|
|
const generalPrompt = templateWorkflowId
|
|
? calAIPhoneWorkflowTemplates?.[templateWorkflowId as keyof typeof calAIPhoneWorkflowTemplates]
|
|
?.generalPrompt
|
|
: undefined;
|
|
|
|
return await aiService.createOutboundAgent({
|
|
name,
|
|
userId: ctx.user.id,
|
|
teamId,
|
|
workflowStepId,
|
|
generalPrompt: generalPrompt ?? retellConfig.generalPrompt,
|
|
beginMessage: retellConfig.beginMessage,
|
|
generalTools: retellConfig.generalTools as RetellLLMGeneralTools,
|
|
userTimeZone: ctx.user.timeZone,
|
|
});
|
|
};
|