> For the complete documentation index, see [llms.txt](https://bus.node-ts.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bus.node-ts.com/guide/message-attributes/attributes.md).

# Correlation id

An identifier that can be used to relate or correlate messages together. This value is sticky meaning that when a message is received with a correlation id, any messages that are sent as a result will contain the same correlation id.

Correlation ids are a useful mechanism for logging and tracking message flows through the system. They're also the default mechanism to correlate messages orchestrated by [workflows](/guide/workflows.md) to continue the next step in a process.

```typescript

const start = () => {
  const bus = await Bus.configure()
    .withHandler(
      ChargeCreditCard,
      async () => await bus.publish(new CreditCardCharged())
    )
    .initialize()
  await bus.start()
  
  await bus.send(
    new ChargeCreditCard(),
    { correlationId: 'cd091b26-f0e6-43fb-9962-c06786948e26' }
  )
}
```

In this example, a **ChargeCreditCard** command is being sent with a correlation id ('cd091b26-f0e6-43fb-9962-c06786948e26').&#x20;

This will be handled and an event called **CreditCardCharged** published as a result. This event will have a correlation id of the same value.
