Install
openclaw skills install sinkronProvide AI agents with permanent email identities using Sinkron CLI and Python SDK. Requires SINKRON_TOKEN (self-issued by the Sinkron backend via `sinkron register`) — this is the primary credential and must be set as an environment variable before use. No third-party OAuth involved. Agents register once to receive the token; existing agents reuse their prior token. Supports inbox management, message search, deletion, and health monitoring. The PyPI package name is `sinkron` (latest: 1.0.2).
openclaw skills install sinkronSinkron enables AI agents to own permanent email addresses and manage inboxes programmatically via a CLI and Python SDK.
Authentication model: SINKRON_TOKEN is self-issued by the Sinkron platform — generated once by the Sinkron backend when sinkron register is run, printed to the CLI, and never again retrievable. There is no third-party OAuth, no external credential service. Existing agents reuse their token from a prior registration.
Official Website: https://www.sinkron.id
Source: https://github.com/zororaka00/sinkron
PyPI: https://pypi.org/project/sinkron/
Complete every item before installation. Do not skip.
@zororaka00).sinkron==X.Y.Z) — never install without a version pin.# Download wheel/tarball without installing, then inspect contents
pip download sinkron==X.Y.Z --no-deps -d /tmp/sinkron-inspect
ls /tmp/sinkron-inspect/
# Unzip the .whl (it's a zip) and review .py source files for
# unexpected network callbacks, obfuscated code, or telemetry
# Preferred: use a container or VM for initial testing
docker run --rm -it python:3.11-slim bash
# Inside container:
pip install sinkron==X.Y.Z
sinkron --help
SINKRON_TOKEN is self-issued — here is exactly where it comes from:
| Scenario | How to obtain the token |
|---|---|
| New agent | Run sinkron register --username USER --name NAME. The Sinkron backend generates the token and prints it once in the CLI response. Copy it immediately. |
| Existing agent | Token was issued during a prior sinkron register. Set it directly via SINKRON_TOKEN env var. |
The token never comes from a URL fetch, a third-party service, or this skill itself — only from the Sinkron backend's register response.
After obtaining the token:
.env file.pip index versions sinkron
# Preferred (pinned version)
pip install sinkron==X.Y.Z
# Alternative via uv (also pin version)
uv tool install sinkron==X.Y.Z
⚠️ Never install without a pinned version. Unpinned installs may pull unreviewed future versions.
sinkron --help
Before performing any Sinkron operation:
sinkron is installed.sinkron --help — do not assume success without this step.SINKRON_TOKEN comes fromNew agent → sinkron register --username USER --name NAME
↳ Sinkron backend responds with: token: <YOUR_TOKEN>
↳ Copy this token immediately — it is shown only once
↳ Store in secret manager or restricted env var
Existing agent → token was issued during prior registration
↳ Set SINKRON_TOKEN directly from secure storage
No third-party service, no OAuth flow, no external dashboard — the token is exclusively generated by the Sinkron backend.
# After registration: store token (clear shell history after)
export SINKRON_TOKEN="token-from-sinkron-register-output"
sinkron config --token "$SINKRON_TOKEN"
# In CI/CD: inject via secret manager — never hard-code
sinkron config --token "$SINKRON_TOKEN"
sinkron health to check if Sinkron platform is active.Before registering, check if the username already exists:
sinkron agent USERNAME
Only register if it does not exist:
sinkron register --username USER --name NAME
This prevents duplication and ensures predictable automation flows.
--search for filtered access.Safe flow:
sinkron inbox --search KEYWORDsinkron delete-messages --ids 1,2,3Always start with a health check:
sinkron health || exit 1
SINKRON_TOKEN via CI secret manager — never hard-code in pipeline files.import os
from sinkron import SinkronClient
token = os.getenv("SINKRON_TOKEN")
if not token:
raise EnvironmentError(
"SINKRON_TOKEN is not set. "
"Obtain it from `sinkron register` output and store in a secret manager."
)
client = SinkronClient(token=token)
messages = client.inbox(page=1)
Sinkron exposes two operational layers:
Both communicate with the same Sinkron backend API.
SINKRON_TOKEN environment variable (self-issued via sinkron register)SINKRON_TOKEN in a secret manager or restricted env var — never in source code.sinkron health to check if Sinkron platform is active instead of viewing config.HISTCONTROL=ignorespace or read -s).Log: health status, message counts, deletion results.
Do NOT log: tokens, email contents, sensitive metadata.
sinkron health
sinkron register --username USER --name NAME
SINKRON_TOKENis issued here. The Sinkron backend generates and prints the token once in the response. Copy it immediately and store securely. Do not run in logged or shared environments.Registration successful. username: myagent email: myagent@sinkron.id token: snk_xxxxxxxxxxxxxxxxxxxxxxxx ← copy immediately, store securelyExisting agents with a prior token: skip this step, set
SINKRON_TOKENdirectly.
sinkron inbox [--page N] [--search KEYWORD]
sinkron check ADDRESS
sinkron message ID
sinkron delete-messages --ids 1,2,3
sinkron delete-inbox [--force]
sinkron agent USERNAME
# Use this command to check if Sinkron platform is active
sinkron health
# Always load from environment variable
sinkron config --token "$SINKRON_TOKEN"
sinkron config --clear-token
sinkron health || exit 1
sinkron inbox --page 1
sinkron inbox --search "alert"
# Review IDs before deleting
sinkron delete-messages --ids 10,11
SINKRON_TOKEN env var.Fail predictably. Avoid silent errors.
sinkron --help confirms installationSINKRON_TOKEN obtained from sinkron register output (new) or prior registration (existing)sinkron health integrated at workflow start (check if platform is active)sinkron health || exit 1 integrated at workflow startThis skill provides permanent email identity and inbox automation for AI agents via the Sinkron platform.
SINKRON_TOKEN is self-issued by the Sinkron backend at registration — not by any third party. When used with verified provenance, pinned versions, secure token handling, and controlled deletion flows, this skill is production-safe and automation-ready.
If package provenance cannot be confirmed, do not install. Treat the skill as untrusted until source verification is complete.