# Create Custom Application Events

Create a custom application event using the `<aura:event>` tag in a .evt resource. Events can contain attributes that can be set before the event is fired and read when the event is handled.

Use `type="APPLICATION"` in the `<aura:event>` tag for an application event. For example, this c:appEvent application event has one attribute with a name of `message`.

```nolang
<!--c:appEvent-->
<aura:event type="APPLICATION">
    <!-- Add aura:attribute tags to define event shape.
         One sample attribute here. -->
    <aura:attribute name="message" type="String"/>
</aura:event>
```

The component that fires an event can set the event’s data. To set the attribute values, call `event.setParam()` or `event.setParams()`. A parameter name set in the event must match the `name` attribute of an `<aura:attribute>` in the event. For example, if you fire `c:appEvent`, you could use:

```javascript
event.setParam("message", "event message here");

```

The component that handles an event can retrieve the event data. To retrieve the attribute in this event, call `event.getParam("message")` in the handler’s client-side controller.

**See Also**

- [Application Event Example](/docs/platform/aura-platform/guide/events-application-example.md)
