NexLink

v0.10.4

Exchange & Nextcloud connector for email, calendar, tasks, files, and document workflows.

1· 30·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the requested env vars (Exchange and Nextcloud credentials) and Python-based code. The declared pip dependencies (exchangelib, requests_ntlm, optional pdfplumber) are appropriate for EWS and document processing. Required binaries (python3, pip3) are consistent.
Instruction Scope
Runtime instructions and module SKILL.md files describe only Exchange (email/calendar/tasks/analytics) and Nextcloud (WebDAV/OCS file ops, document processing) operations. There are no instructions to read unrelated system files or to transmit data to unexpected external endpoints. One notable item: docs/config expose an option verify_ssl: false for self-signed certs — intended for internal use but weakens TLS guarantees if used in production.
Install Mechanism
The registry shows no formal install spec, but the repository contains a full Python project (requirements.txt, setup.py, modules, scripts). SKILL.md includes pip dependency declarations which the platform could install; README also documents manual git clone + pip3 install -r requirements.txt. This is coherent but means the platform/user must ensure pip deps are installed; there is no high-risk external download URL in the manifest.
Credentials
Required environment variables (EXCHANGE_SERVER, EXCHANGE_USERNAME, EXCHANGE_PASSWORD, EXCHANGE_EMAIL, NEXTCLOUD_URL, NEXTCLOUD_USERNAME, NEXTCLOUD_APP_PASSWORD) are proportional to the described capabilities. The primaryEnv is EXCHANGE_SERVER (a URL) which is slightly atypical (often a credential is primary) but not harmful. No unrelated secrets or extra cloud provider credentials are requested.
Persistence & Privilege
always:false (no forced global inclusion). The skill does not request system-wide config modification or other skills' credentials. Config/state files referenced are per-user (e.g., ~/.openclaw/workspace/memory/task-sync-state.json) which is expected for sync state.
Assessment
This repo appears coherent for its stated purpose, but before installing: (1) only provide the service account / app-passwords with the minimum Exchange and Nextcloud permissions needed (avoid full admin creds); (2) prefer Nextcloud app passwords over primary passwords and keep EXCHANGE_PASSWORD scoped to a service account; (3) avoid setting verify_ssl: false in production (it allows MITM attacks) — use it only for isolated internal servers with known certificates; (4) the package declares pip dependencies but has no platform install script, so ensure pip installs run in a controlled environment (virtualenv) and review requirements.txt before pip installing; (5) review and trust the GitHub repo/owner (links are to a GitHub repo and firmade.ai) because the skill will have access to mailbox and file storage data. If you want additional assurance, request a signed release from the publisher or a security review of the repository before deploying with production credentials.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🔗 Clawdis
Binspython3, pip3
EnvEXCHANGE_SERVER, EXCHANGE_USERNAME, EXCHANGE_PASSWORD, EXCHANGE_EMAIL, NEXTCLOUD_URL, NEXTCLOUD_USERNAME, NEXTCLOUD_APP_PASSWORD
Primary envEXCHANGE_SERVER

Dependencies

exchangelibpip >=5.0.0
requests_ntlmpip >=1.1.0
pdfplumberpip >=0.10.0
pytestpip >=7.0.0
latestvk97640w1a4ezqjwvswz6qbyxgn85bjrf
30downloads
1stars
8versions
Updated 1h ago
v0.10.4
MIT-0

NexLink — Exchange & Nextcloud Connector

Built by Firma de AI, supported by Firma de IT.

This skill connects Exchange and Nextcloud into one practical workflow layer for:

  • Exchange: email, calendar, tasks, analytics
  • Nextcloud: file operations, sharing, document understanding, workflow extraction

Module Disponibile

ModulDescriereComandă
ExchangeEmail, Calendar, Tasks, Analyticsnexlink <mail|cal|tasks|analytics|sync>
NextcloudFișiere, sharing, sumarizare, Q&A, extragere acțiuninexlink files <list|search|extract-text|summarize|ask-file|extract-actions|create-tasks-from-file|...>

Ce rezolvă concret

Folosește skillul când vrei să lucrezi cu:

  • emailuri, reply-uri, drafturi și atașamente în Exchange
  • calendar, meeting-uri și follow-up tasks
  • task-uri Exchange, inclusiv delegate access
  • fișiere Nextcloud: listare, căutare, upload, download, mutare, sharing
  • document understanding: extract-text, summarize, ask-file
  • workflow extraction: extrage acțiuni din fișiere și creează task-uri Exchange

Utilizare Rapidă

Email

# Conexiune
nexlink mail connect

# Listează email-uri
nexlink mail read --limit 10
nexlink mail read --unread

# Trimite email
nexlink mail send --to "client@example.com" --subject "Ofertă" --body "..."

# Răspunde
nexlink mail reply --id EMAIL_ID --body "Răspuns"

Calendar

# Evenimente
nexlink cal today
nexlink cal week
nexlink cal list --days 7

# Creează eveniment
nexlink cal create --subject "Meeting" --start "2024-01-15 14:00" --duration 60

# Cu invitați
nexlink cal create --subject "Team Meeting" --start "2024-01-15 14:00" --to "user1@example.com,user2@example.com"

Tasks

# Listează
nexlink tasks list
nexlink tasks list --overdue

# Creează
nexlink tasks create --subject "Review proposal" --due "+7d" --priority high

# Completează
nexlink tasks complete --id TASK_ID

Analytics (Email Statistics)

# Statistici generale
nexlink analytics stats --days 30

# Timp mediu de răspuns
nexlink analytics response-time --days 7

# Top expeditori
nexlink analytics top-senders --limit 20

# Activity heatmap
nexlink analytics heatmap --days 30

# Statistici per folder
nexlink analytics folders

# Raport complet
nexlink analytics report --days 30

Fișiere (Nextcloud)

# Listează și caută
nexlink files list /Documents/
nexlink files search contract /Clients/

# Upload / Download
nexlink files upload /local/report.pdf /Documents/
nexlink files download /Documents/report.pdf /local/

# Document understanding
nexlink files extract-text /Clients/contract.docx
nexlink files summarize /Clients/contract.docx
nexlink files ask-file /Clients/contract.docx "When is the renewal due?"

# Workflow extraction
nexlink files extract-actions /Clients/contract.txt
nexlink files create-tasks-from-file /Clients/contract.txt
nexlink files create-tasks-from-file /Clients/contract.txt --select 1,2 --execute

Workflow-uri Combinate

Email + Fișiere

Trimite email cu atașament din Nextcloud:

# Download din Nextcloud și trimite
nexlink files download /Documents/offer.pdf /tmp/
nexlink mail send --to "client@example.com" --subject "Ofertă" --body "..." --attach /tmp/offer.pdf

Salvează atașament din email în Nextcloud:

# Download atașament și upload în Nextcloud
nexlink mail download-attachment --id EMAIL_ID --name "contract.pdf" --output /tmp/
nexlink files upload /tmp/contract.pdf /Contracts/

Calendar + Tasks

Creează task din meeting request:

# După meeting, creează task pentru follow-up
nexlink tasks create --subject "Follow-up meeting X" --due "+3d"

Configurare Completă

Vezi references/setup.md pentru configurare detaliată.

Positioning public / branding

For public listings, documentation, and SEO copy, prefer this positioning:

  • Public title: Firma de AI — Exchange & Nextcloud Assistant
  • Subtitle: Email, files, tasks, and document workflows for teams
  • Brand line: Built by Firma de AI, supported by Firma de IT.
  • Links: https://firmade.ai și https://firmade.it

This keeps the internal skill name nexlink while making the public positioning more accurate and searchable.

Coding Standards

This project follows the Hardshell Coding Standards.

When writing or modifying Python code, see:

Key rules:

  • PEP 8 formatting - use black for formatting, ruff for linting
  • Type hints - required for all function parameters and return types
  • Docstrings - Google-style for all public functions and classes
  • Testing - pytest with pytest-cov for coverage
  • Security - never use pickle or eval() on untrusted input
  • Dependencies - use uv or poetry, pin versions, audit with pip-audit

Module Structure

modules/
├── exchange/           # Email, Calendar, Tasks (Exchange on-prem)
│   ├── SKILL.md       # Module documentation
│   ├── mail.py        # Email operations
│   ├── cal.py         # Calendar operations
│   ├── tasks.py       # Task operations
│   ├── sync.py        # Sync and reminders
│   └── ...
├── nextcloud/          # File management, doc understanding, workflow extraction
│   ├── SKILL.md       # Module documentation
│   └── nextcloud.py   # File operations and analysis
└── (future modules)

Notes

  • Tasks sunt create în folderul Tasks al mailbox-ului implicit sau în mailbox-ul țintă când folosești delegate access
  • Pentru task-uri collaborative, folosiți calendar events cu invitați
  • Self-signed certificates necesită verify_ssl: false

License

MIT License - see LICENSE file for details.

Comments

Loading comments...