Skip to content

Variable: activitySchema

const activitySchema: ZodObject<{ attachments: ZodOptional<ZodArray<ZodObject<{ content: ZodObject<{ $schema: ZodString; actions: ZodOptional<ZodArray<ZodRecord<…, …>>>; body: ZodArray<ZodRecord<ZodString, ZodUnknown>>; type: ZodLiteral<"AdaptiveCard">; version: ZodString; }, $strip>; contentType: ZodLiteral<"application/vnd.microsoft.card.adaptive">; }, $strip>>>; conversation: ZodOptional<ZodObject<{ id: ZodString; }, $strip>>; from: ZodOptional<ZodObject<{ id: ZodString; name: ZodOptional<ZodString>; }, $strip>>; id: ZodOptional<ZodString>; recipient: ZodOptional<ZodObject<{ id: ZodString; name: ZodOptional<ZodString>; }, $strip>>; text: ZodOptional<ZodString>; timestamp: ZodOptional<ZodString>; type: ZodEnum<{ conversationUpdate: "conversationUpdate"; message: "message"; typing: "typing"; }>; }, $loose>

A Bot Framework activity.

.passthrough() is deliberate: a real channel sends channelId, serviceUrl, timestamp, replyToId, channelData and more. This endpoint reads only what it needs, but an unknown field is part of the caller’s envelope and is kept so a client can round-trip its own metadata.