> For the complete documentation index, see [llms.txt](https://documentation.hak5.org/packet-squirrel-mark-ii/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.hak5.org/packet-squirrel-mark-ii/payload-development/duckyscript-for-packet-squirrel/c2notify.md).

# C2NOTIFY

The `C2NOTIFY` command sends a notification to the Cloud C² server (if one is connected).  This will appear on the Cloud C² dashboard.

## Options

`C2NOTIFY` expects two options:  the type of notification, and the message itself.

```
C2NOTIFY INFO some message
C2NOTIFY ERROR some more severe message
```

## Experimenting

You can experiment using the `C2NOTIFY` command live, either in the Web Shell in the web UI, or via `ssh`!

<figure><img src="/files/WiAOmh48HN5V4iJjLNq5" alt=""><figcaption><p>Using the C2NOTIFY command in the Web Shell</p></figcaption></figure>

## Examples

```bash
#!/bin/bash

# Title: Cloud C2 Button
#
# Description: A simple payload that notifies Cloud C2 when a button is pressed

# Set the netmode to NAT, otherwise there is no connectivity at all
NETMODE NAT

# Set the LED to blinking cyan
LED C SINGLE

# Wait forever until the button is tapped
BUTTON

# Notify Cloud C2
C2NOTIFY INFO "The button was pressed!"

# Set the LED to blink blue in a triple pattern
LED B TRIPLE
```

A more advanced payload using conditionals to check if the button was pressed:

```bash
#!/bin/bash

# Title: More advanced Cloud C2 button
#
# Description: React differently if the button was pressed or not

# Set the netmode to NAT, otherwise there is no connectivity at all
NETMODE NAT

# Set the LED to blinking cyan
LED C SINGLE

# Wait 3 seconds, set the LED depending on if the user presses the button
BUTTON 3 && {
    C2NOTIFY INFO "The button was pressed!"
    LED W SOLID
} || {
    C2NOTIFY ERROR "The button was not pressed!"
    LED R DOUBLE
}
```
