---
title: draft
framework: appintents
role: symbol
role_heading: Instance Property
path: appintents/assistantschemas/mailentity/draft
---

# draft

The app entity describes an email draft.

## Declaration

```swift
var draft: some AssistantSchemas.Entity { get }
```

## Overview

Overview Use Swift macros that generate additional properties and add protocol conformance for your app entity implementation. The following example shows an app entity that conforms to the .mail.draft schema: @AppEntity(schema: .mail.draft) struct MailDraftEntity: AppEntity {     struct Query: EntityStringQuery {         func entities(for identifiers: [MailDraftEntity.ID]) async throws -> [MailDraftEntity] { [] }         func entities(matching string: String) async throws -> [MailDraftEntity] { [] }     }

static var defaultQuery = Query()     var displayRepresentation: DisplayRepresentation { "Mail Draft" }

let id = UUID()

@Property     var to: [IntentPerson]

@Property     var cc: [IntentPerson]

@Property     var bcc: [IntentPerson]

@Property     var subject: String?

@Property     var body: AttributedString?

@Property     var attachments: [IntentFile]

@Property     var account: MailAccountEntity } For more information about the .mail app intent domain, see doc:Making-email-actions-available-to-siri-and-apple-intelligence. For general information about app intent domains, see doc:Integrating-actions-with-siri-and-apple-intelligence.
