Alphakdeps.io is experimental and evolving — the registry and packages may change or reset.
kdeps componentkdeps asset

kdeps-components-email

v1.1.1

kdeps kdeps-component: email

set components / shelf workflow

PurposeSend email over SMTP and read, search, modify, list or delete IMAP mailboxes

LLM context: ~622 tokens when loaded (prompt or tool definition)

Where it runs

Part of the components set, used in workflow and agent mode. Ready-made workflow steps (sql, browser, email, git, ocr...) a resource calls by name; in agent mode they are also tools.

  1. a resource names a component (or the model calls it as a tool)
  2. the component's own resources runcomponents/email
  3. its output goes back to the caller

Loaded by: kdeps (agent loop), /settings, kdeps validate, kdeps run, kdeps bundle package, kdeps env, kdeps export k8s, kdeps test

In the code: kdeps (agent loop)yaml.(*Parser).ParseWorkflowyaml.(*Parser).loadAssetComponents

Install

A kdeps asset: installed with the first-run profile that includes its set, or the first time a command needs it, and updated without a new release.

kdeps install components/email

Also installs what it requires, when missing or older: schemas/v1 >=1.0.4, tools/email_ops.

Pin a version with kdeps install components/email@<version>.

Contents

component.yaml

apiVersion: kdeps.io/v1
kind: Component
metadata:
  name: email
  description: Send email over SMTP and read, search, modify, list or delete IMAP mailboxes
  version: "1.1.1"
interface:
  inputs:
    - name: action
      type: string
      default: send
      description: send, read, search, modify, list or delete
    - name: smtpConnection
      type: string
      default: ""
      connection: smtp
      description: Name under smtp_connections in ~/.kdeps/config.yaml (send)
    - name: imapConnection
      type: string
      default: ""
      connection: imap
      description: Name under imap_connections in ~/.kdeps/config.yaml (read, search, modify, list, delete)
    - name: from
      type: string
      default: ""
      description: Sender address (send); defaults to identity.email in ~/.kdeps/config.yaml
    - name: to
      type: array
      default: []
      description: Recipients (send); a list, or one comma-separated string
    - name: cc
      type: array
      default: []
      description: Cc recipients (send)
    - name: bcc
      type: array
      default: []
      description: Bcc recipients (send); not written to the headers
    - name: subject
      type: string
      default: ""
      description: Subject (send)
    - name: body
      type: string
      default: ""
      description: Message body (send)
    - name: html
      type: boolean
      default: false
      description: Send the body as text/html
    - name: attachments
      type: array
      default: []
      description: File paths to attach (send); relative paths resolve against the workflow directory
    - name: mailbox
      type: string
      default: ""
      description: Mailbox (default INBOX); required for delete
    - name: limit
      type: integer
      default: 10
      description: Messages to return at most (read, search)
    - name: markRead
      type: boolean
      default: false
      description: Mark returned messages as seen (read, search)
    - name: uids
      type: array
      default: []
      description: Message UIDs to modify; empty means every message the search criteria match
    - name: search
      type: object
      default: {}
      description: "Criteria for search and modify: from, subject, body, since, before (YYYY-MM-DD), unseen, flagged"
    - name: modify
      type: object
      default: {}
      description: "Changes for modify: markSeen, markFlagged, markDeleted (true/false), moveTo, expunge"
    - name: timeout
      type: string
      default: 30s
      description: Connection timeout as a duration
  # The tool returns the action result: the send summary, or the message,
  # mailbox or modify result described on the email component page.
  output: "{{ fromJSON(output('emailOperation').body) }}"
resources:
  # One call to the kdeps API's email_ops tool: the component holds no email
  # code of its own. The tool reads the named SMTP/IMAP connection from
  # config.yaml in the kdeps process, so passwords never cross this request.
  - actionId: emailOperation
    name: Email
    httpClient:
      method: POST
      url: http://kdeps.api/apis/tools.kdeps.io/v1/tools/email_ops/call
      headers:
        Content-Type: application/json
      failOnError: true
      timeout: 600s
      data:
        action: "{{ get('email.action') }}"
        smtpConnection: "{{ get('email.smtpConnection') }}"
        imapConnection: "{{ get('email.imapConnection') }}"
        from: "{{ get('email.from') }}"
        to: "{{ get('email.to') }}"
        cc: "{{ get('email.cc') }}"
        bcc: "{{ get('email.bcc') }}"
        subject: "{{ get('email.subject') }}"
        body: "{{ get('email.body') }}"
        html: "{{ get('email.html') }}"
        attachments: "{{ get('email.attachments') }}"
        mailbox: "{{ get('email.mailbox') }}"
        limit: "{{ get('email.limit') }}"
        markRead: "{{ get('email.markRead') }}"
        uids: "{{ get('email.uids') }}"
        search: "{{ get('email.search') }}"
        modify: "{{ get('email.modify') }}"
        timeout: "{{ get('email.timeout') }}"
requires:
  schemas/v1: ">=1.0.4"
  tools/email_ops: ""

Versions

VersionPublishedStatus
1.1.110/21/2026active
1.1.010/21/2026active
1.0.010/14/2026active

Details

Author
kdeps
License
Apache-2.0
Latest Version
1.1.1
Published
10/14/2026

Tags

kdepskdeps-component