---
schema_version: "1"
id: 433ed02830723700686ca0993e9d3003d6e2fb6480693af47627bd9ed1345992
title: Build a Headless Experience
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/genai/agentforce-mobile-sdk/guides/ios/agentforce-mobile-sdk-ios-headless.md
canonical_url: https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-ios-headless.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 321c1acd3fb32204235130a8ee5d5b1846a373e2c0f3c6f0b92838472eb80ed3
products:
  - Agentforce Mobile SDK
  - Agentforce and Einstein Generative AI
---
# Build a Headless Experience

Agentforce SDK also supports a headless experience for Agentic Use Cases that do not require a chat style interaction. The headless experience can also be used to build your own UI entirely.

## Send Messages

To send a message to the agent, you can use the sendUtterance method on the AgentConversation object.

```swift
await conversation.sendUtterance(utterance: "Hello, world!", attachment: nil)
```

## Receive Messages

To receive messages from the agent, you can subscribe to the messages publisher on the AgentConversation object.

```swift
conversation.messages
    .sink { messages in
        // Handle new messages
        for message in messages {
            print(message.message)
        }
    }
    .store(in: &cancellables)
```

A message is an instance of an AgentforceMessage which includes a message property containing the primary text response from the agent and components which may contain rich UI component definitions for the response.

<!-- **[INFORMATION NEEDED: What additional headless capabilities exist?]**

- What other methods are available on AgentConversation?
- How do you handle different message types?
- What about conversation state management?
- How do you handle errors in headless mode?
- What about conversation lifecycle management? -->

## Next Steps

- **Customization**: See [Theming](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-ios-branding-theming.md) for visual customization
