# Dynamic Android Snippets: Dates, Clipboard, and Fill-in Arguments

Go beyond static text expansion on Android with Nibit placeholders for dates, clipboard text, selected text, and fill-in arguments.

_Guides · September 22, 2026_

Static snippets get you only so far. Once your reply needs today's date, that last thing you copied, or a name you don't know until send time, that's when placeholders become your best friend.

Already know how to make a basic trigger snippet? Skip ahead. If you're starting from scratch, check out [How to use text snippets on Android](/guides/android-text-snippets) first.

## What a placeholder is

A placeholder is a token Nibit fills in the moment you trigger a snippet. You type the trigger, hit space or return, and boom: Nibit expands the template with today's values.

They live inside curly braces in your expansion body, and you can stack multiple placeholders in a single snippet.

## High-value starters

These'll cover just about everything you need on day one:

| Placeholder | What it inserts |
| --- | --- |
| `{date}` | Current date |
| `{time}` | Current time |
| `{clipboard}` | Most recent clipboard item Nibit captured |
| `{selection}` | Text selected in the current app |
| `{argument}` | A fill-in prompt at expansion time |
| `{cursor}` | Where the cursor lands after expansion |

Named arguments work great when a snippet needs a clear label:

```
Hello {argument name="customer"},

Re: ticket {argument name="ticket"}
```

You can also add defaults and option lists for situations where the fill-in is usually one of a few choices. Head to the [placeholders manual](https://manual.nibit.app/placeholders/overview/) for the full syntax, modifiers, clipboard offsets, and nested snippets.

## Clipboard offsets and nested snippets

Copied multiple things? Clipboard offsets let you grab an older item instead of always pulling the latest. Nested snippet placeholders let one expansion pull in another snippet by name, so you can reuse blocks like an address or signature without copy-pasting them everywhere.

Reach for those when a template is locked down but one piece keeps changing.

## Example snippets

**Support reply**

```
Hello {argument name="customer"},

Thanks for the note on {date}. I am looking at ticket {argument name="ticket"} and will update you after I check the logs.

Best,
```

**Meeting note starter**

```
Meeting with {argument name="person"} on {date}

Notes:
{cursor}
```

**Shipping update**

```
Order {argument name="order"} shipped on {date}.

Tracking:
{clipboard}
```

Each one keeps the skeleton steady and lets the changing bits flow in.

## Keep triggers boring on purpose

Placeholders don't touch how triggers work. You still just type the trigger, then space or return. A comma prefix like `,ship` is still a solid convention, but not required.

And here's the thing: Nibit expands triggers while you're chilling on Gboard or SwiftKey. You can always flip to the Nibit keyboard when you want to browse or search your library.

### Start from a snippet you already use

Pick one canned reply, swap out the hardcoded date or name for a placeholder, and trigger it once. Does the fill-in feel natural? You're good to go.

Full reference: [dynamic placeholders](https://manual.nibit.app/placeholders/overview/).

### Add a placeholder to a snippet you already use

Swap one static detail for `{date}`, `{clipboard}`, or `{argument}`, then expand it in the app where you normally type.
