Eventarc delivers events, regardless of provider, to the target
destination in a CloudEvents ([cloudevents.io](http://cloudevents.io/)) format
in binary content mode.

CloudEvents is the Cloud Native Computing Foundation's
[open standard specification](https://github.com/cloudevents/spec) for
describing event metadata in a common way. Using a standard way to describe
event metadata ensures consistency, accessibility, and portability.

A CloudEvent in binary content mode has its context attributes described as HTTP
headers. The names of the HTTP headers are the context attribute names prefixed
with `ce-`. The `Content-Type` header reflects the media type in which the event
data is encoded.

Target destinations consume events using an
[HTTP protocol binding](https://docs.cloud.google.com/eventarc/docs/cloudevents.md.txt).

For Workflows destinations, the Workflows service
converts the event to a [JSON object](https://docs.cloud.google.com/eventarc/docs/cloudevents-json.md.txt), and
passes the event into the workflow execution as a runtime argument.

## Define a message binding (Eventarc Advanced)

You can define a message binding and construct a new HTTP request. For more
information, see
[Define a message binding](https://docs.cloud.google.com/eventarc/advanced/docs/receive-events/transform-events.md.txt#message-binding).

## Format received events (Eventarc Advanced)

You can configure a pipeline to expect event data in a specific format or,
before events are delivered to a destination, you can convert event data from
one supported format to another. For example, you might need to route events to
an endpoint that only accepts Avro or Protobuf data. The following format
conversions are supported:

- Avro to JSON
- Avro to Protobuf
- JSON to Avro
- JSON to Protobuf
- Protobuf to Avro
- Protobuf to JSON

For more information, see
[Format received events](https://docs.cloud.google.com/eventarc/advanced/docs/receive-events/configure-format-events.md.txt).