---
title: "init(kind:intent:provider:content:)"
framework: widgetkit
role: symbol
role_heading: Initializer
path: "widgetkit/appintentconfiguration/init(kind:intent:provider:content:)"
---

# init(kind:intent:provider:content:)

Creates a configuration for a widget by using a custom intent to provide user-configurable options.

## Declaration

```swift
@MainActor @preconcurrency init<Provider>(kind: String, intent: Intent.Type = Intent.self, provider: Provider, @ViewBuilder content: @escaping (Provider.Entry) -> Content) where Intent == Provider.Intent, Provider : AppIntentTimelineProvider
```

## Parameters

- `kind`: A unique string that you choose.
- `intent`: A custom intent containing user-editable parameters.
- `provider`: An object that determines the timing of updates to the widget’s views.
- `content`: A view that renders the widget.

## See Also

### Creating a widget configuration

- [body](swiftui/widgetconfiguration/body-swift.property.md)
