Aller au contenu
Agentivity
Star on GitHub Commencer gratuitement

People, messages, storage and application nodes

Ce contenu n’est pas encore disponible dans votre langue.

Generated on 2026-10-20 from a running server by tools/reference.mjs. Do not edit this page by hand.

The steps that ask a person, send and read messages, store values, and work with outside applications.

This page lists 13 nodes. How to read a node reference.

Human-in-the-loop workflow nodes and approvals.

Step · in the catalogue: Interactions · type interaction.form

Collects structured form input through the connected channel

When to use it. To ask a person to fill in a few fields, described as a JSON list of fields, and wait for the answer before going on, for example an approval with a comment. For a free-text message, use Human Interaction instead.

Effects. sends a message.

Fields

NameTypeRequiredDefaultWhat it is
titleTextnoTitle shown to the user.
descriptionTextnoDescription/instructions.
fieldsTextyesJSON array of field definitions.

Outputs

NameTypeWhat it holds
response_dataTextUser response as JSON
responded_byTextWho responded
outcomeTextResponse outcome

Places for resources

PlaceRequiredAcceptsHow many
Channelyesinteraction.channel.*1

Step · in the catalogue: Interactions · type interaction.human

Performs a generic human interaction through the connected channel

When to use it. To send a message to a person through the connected channel and, if needed, wait for the reply; it can also update, delete or search messages there. To collect precise answers in fields, use Form Interaction instead.

Effects. sends a message.

Fields

NameTypeRequiredDefaultWhat it is
operationChoicenosendInteraction operation. Choices: send, send_and_wait, receive, update, delete, search.
messageTextnoFree-text message body.
message_idTextnoExisting message identifier for update/delete.
thread_idTextnoConversation thread identifier.
conversation_idTextnoConversation identifier.
queryTextnoSearch query.
timeout_minutesNumberno0Optional wait timeout in minutes (0 = channel default).

Outputs

NameTypeWhat it holds
successBooleanWhether the interaction operation succeeded
outcomeTextInteraction outcome
response_textTextFree-text response received from the human or channel
responded_byTextWho responded
message_idTextMessage identifier
thread_idTextThread identifier
conversation_idTextConversation identifier
messagesTextSearch results or returned messages as JSON
errorTextError message if the operation failed

Entries. In (Entry point)

Exits. Out (Default output port)

Places for resources

PlaceRequiredAcceptsHow many
Channelyesinteraction.channel.*1

Messaging and communication workflow nodes.

Step · in the catalogue: Communication · type communication.email.get

Reads one e-mail of a mailbox in full, by its id: who, when, subject, the whole text and the list of its attachments.

When to use it. After Read Emails listed e-mails without their text, or inside a loop over its ids, to work on one e-mail at a time.

Example. id: read.id

Effects. reads outside.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesMailbox (IMAP connection) to read. Connection of type imap.
folderTextnoINBOXFolder the e-mail is in.
idTextyesThe id of the e-mail, as Read Emails gave it.
max_body_charsNumberno0The most characters kept of the text (0 = all of it).
mark_as_readBooleannofalseMark the e-mail as read.

Outputs

NameTypeWhat it holds
emailTextThe e-mail as a JSON object
message_idTextIts message_id (to answer it with Send Email)
fromTextWho sent it
reply_toTextThe address to answer to (the sender’s unless the e-mail says otherwise)
toTextWho it was sent to
subjectTextIts subject
dateTextWhen it was sent
bodyTextIts text
attachmentsTextListThe names of its attachments

Entries. In (Entry point)

Exits. Out (Default output port)

Step · in the catalogue: Communication · type communication.email.read

Reads the e-mails of a mailbox (IMAP) that match: unread only, from someone, with words in the subject or the text, since a date. Newest first, with their text.

When to use it. To fetch what arrived in a mailbox: unread requests to sort, invoices received, answers to a campaign. It reads what is there when it runs: it does not wait for an e-mail to arrive.

Example. unread_only: true, subject_contains: invoice, limit: 10, mark_as_read: true

Effects. reads outside.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesMailbox (IMAP connection) to read. Connection of type imap.
folderTextnoINBOXFolder to read.
unread_onlyBooleannotrueOnly the e-mails not read yet.
fromTextnoOnly from an address or a name containing this.
subject_containsTextnoOnly with this in the subject.
text_containsTextnoOnly with this in the text.
sinceTextnoOnly received on or after this date (2026-01-31).
limitNumberno20How many e-mails at most (newest first).
include_bodyBooleannotrueRead the text of each e-mail (slower); otherwise only who, when, subject and a short preview.
max_body_charsNumberno8000The most characters kept of each text.
mark_as_readBooleannofalseMark the e-mails returned as read, so the next reading does not return them again.

Outputs

NameTypeWhat it holds
emailsTextThe e-mails as a JSON list: id, message_id, from, to, cc, subject, date, is_read, preview, body, attachments
countNumberHow many e-mails were returned
idsTextListThe ids of the e-mails returned (for Get Email and Update Emails)
idTextThe id of the newest one, empty when there is none
message_idTextThe message_id of the newest one (to answer it with Send Email)
fromTextWho sent the newest one
subjectTextThe subject of the newest one
bodyTextThe text of the newest one

Entries. In (Entry point)

Exits. Out (Default output port)

Step · in the catalogue: Communication · type communication.email.send

Sends an e-mail through an SMTP connection: one or several recipients, optional copies, plain text or HTML. Can answer an e-mail that was read, so that both show as one conversation.

When to use it. To send a message to people outside the platform, or to answer an e-mail read with Read Emails. Not for asking a person something and waiting for the answer: use an interaction for that.

Example. to: read.from, subject: Re: read.subject, body: write.text, in_reply_to: read.message_id

Effects. sends a message.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesSMTP connection the e-mail is sent with. Connection of type smtp.
toTextyesRecipient address(es), separated by commas.
ccTextnoAddresses that receive a copy.
bccTextnoAddresses that receive a copy the others do not see.
reply_toTextnoAddress the answers go to, when it is not the sender’s.
subjectTextyesSubject.
bodyTextyesBody.
is_htmlBooleannofalseWhether the body is HTML.
in_reply_toTextnoThe message_id of the e-mail this one answers (from Read Emails or Get Email): both then show as one conversation.

Outputs

NameTypeWhat it holds
sentBooleanWhether the e-mail was handed to the server
message_idTextThe id the e-mail was given

Entries. In (Entry point)

Exits. Out (Default output port)

Step · in the catalogue: Communication · type communication.email.update

Marks e-mails of a mailbox as read or unread, flags or unflags them, or moves them to another folder. It never deletes an e-mail.

When to use it. Once e-mails have been handled: mark them read so they are not read again, or file them in a folder (Processed, Invoices…).

Example. ids: read.ids, action: move, target_folder: Processed

Effects. changes something outside.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesMailbox (IMAP connection). Connection of type imap.
folderTextnoINBOXFolder the e-mails are in.
idsTextListyesThe ids of the e-mails, as Read Emails gave them.
actionChoiceyesmark_readWhat to do with them. Choices: mark_read, mark_unread, flag, unflag, move.
target_folderTextnoThe folder to move them to (for Move to a folder); it must exist in the mailbox.

Outputs

NameTypeWhat it holds
updatedNumberHow many e-mails were found and updated

Entries. In (Entry point)

Exits. Out (Default output port)

Key-value storage operations.

Resource · in the catalogue: Storage · type storage.file

Provides a key-value store kept in the workspace, named by file_path.

When to use it. To keep values from one run to the next inside the workspace, with nothing to set up. Connect it to Storage Read, Storage Write or Storage Delete; for rows with columns, use a Data Table instead.

Effects. writes in the workspace.

Fields

NameTypeRequiredDefaultWhat it is
file_pathTextnodataName of the store, kept in the workspace (a path names the store by its file name: _data/storage/data.json is the store data).

Plugs into a place that accepts storage.file.*.

Step · in the catalogue: Storage · type storage.delete

Deletes a value from any storage provider

When to use it. To remove a value saved under a name (a key), for example so that it is made again on the next run. Connect the same File Storage or Supabase Storage step used to save it.

Effects. writes in the workspace, changes something outside.

Fields

NameTypeRequiredDefaultWhat it is
keyTextyesStorage key to delete.

Outputs

NameTypeWhat it holds
successBooleanOperation success
keyTextThe storage key deleted

Places for resources

PlaceRequiredAcceptsHow many
Storageyesstorage.*1

Step · in the catalogue: Storage · type storage.read

Reads a value from any storage provider (file, database, etc.)

When to use it. To get back a value saved earlier under a name (a key), for example a result kept from a previous run, and take another path when nothing is saved under that name. Connect a File Storage or Supabase Storage step to say where to read.

Effects. reads outside.

Fields

NameTypeRequiredDefaultWhat it is
keyTextyesStorage key to read.

Outputs

NameTypeWhat it holds
valueTextThe stored value. Empty when the key does not exist, in which case the not_found port is taken.

Entries. In (Entry point)

Exits. Found (Execute this path if key exists), Not Found (Execute this path if key does not exist)

Places for resources

PlaceRequiredAcceptsHow many
Storageyesstorage.*1

Step · in the catalogue: Storage · type storage.write

Writes a value to any storage provider (file, database, etc.)

When to use it. To save a value under a name (a key) so a later step or a later run can read it back with Storage Read, for good or for a number of minutes. Connect a File Storage or Supabase Storage step to say where to save it.

Effects. writes in the workspace, changes something outside.

Fields

NameTypeRequiredDefaultWhat it is
keyTextyesStorage key.
valueTextyesValue to store.
overwriteBooleannotrueAllow overwriting existing key.
expiration_minutesNumbernoOptional expiration in minutes.

Outputs

NameTypeWhat it holds
successBooleanOperation success
keyTextThe storage key used
valueTextThe value that was written (pass-through)

Places for resources

PlaceRequiredAcceptsHow many
Storageyesstorage.*1

Resource · in the catalogue: Storage · type storage.database.supabase

Provides access to Supabase database key-value storage.

When to use it. To keep values in your own Supabase project, where other tools can read them too. It needs Supabase credentials (project URL and API key) and a table made for it; connect it to Storage Read, Storage Write or Storage Delete.

Effects. reads outside, changes something outside.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesSupabase project credentials (URL + API key). Connection of type supabase.
table_nameTextnostorage_itemsDatabase table name.

Plugs into a place that accepts storage.database.*.

WordPress publishing.

Step · in the catalogue: Applications > CMS > WordPress · type app.cms.wordpress.publish_media

Uploads media files to WordPress media library.

When to use it. To upload an image made or received by the workflow to the media library of a WordPress site, for example before Publish to WordPress uses it as the featured image. It needs WordPress site credentials.

Effects. changes something outside.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesWordPress site credentials. Connection of type wordpress.
imageImageRefyesWorkflow image reference to upload.
titleTextnoMedia title.
altTextTextnoAlt text.
descriptionTextnoDescription.
captionTextnoCaption.
max_retriesNumberno4Maximum upload retry attempts.
retry_delay_secondsNumberno10Initial delay between retries in seconds.

Outputs

NameTypeWhat it holds
mediaTextWordPress media upload result with mediaId and mediaUrl

Entries. In (Entry point)

Exits. Out (Default output port)

Step · in the catalogue: Applications > CMS > WordPress · type wordpress.publish

Publishes content as a WordPress post with optional Elementor layout.

When to use it. To put an article on a WordPress site, as a draft unless you set another status, from HTML or from an Elementor layout made by DSL to Elementor. It needs WordPress site credentials.

Effects. changes something outside.

Fields

NameTypeRequiredDefaultWhat it is
credentialsCredentialsyesWordPress site credentials. Connection of type wordpress.
titleTextyesPost title.
contentTextnoHTML content (optional if elementorData provided).
elementorDataTextnoElementor layout data.
metaTagsTextnoMeta tags / keywords.
metaDescriptionTextnoMeta description.
slugTextnoPost slug (auto-generated from title if not provided).
categoriesTextnoCategories.
statusTextnodraftPost status.
featuredMediaIdNumbernoFeatured image media id.
updateFeaturedImageBooleannotrueWhether to update featured image.

Outputs

NameTypeWhat it holds
resultTextResult of the WordPress post publication

Entries. In (Entry point)

Exits. Out (Default output port)