KosmoKrator

productivity

Loops CLI for AI Agents

Use the Loops CLI from KosmoKrator to call Loops tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

Loops CLI Setup

Loops can be configured headlessly with `kosmokrator integrations:configure loops`.

Install, configure, and verify
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure loops --set api_key="$LOOPS_API_KEY" --enable --read allow --write ask --json
kosmokrator integrations:doctor loops --json
kosmokrator integrations:status --json

Credentials

Authentication type: API key api_key. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.

KeyEnv varTypeRequiredLabel
api_key LOOPS_API_KEY Secret secret yes API Key
url LOOPS_URL URL url no API Base URL

Command Patterns

The generic command is stable across every integration. The provider shortcut is shorter for humans.

Generic CLI call
kosmo integrations:call loops.loops_create_contact '{}' --json
Provider shortcut
kosmo integrations:loops loops_create_contact '{}' --json

Discovery

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

Discovery commands
kosmo integrations:docs loops --json
kosmo integrations:docs loops.loops_create_contact --json
kosmo integrations:schema loops.loops_create_contact --json
kosmo integrations:search "Loops" --json
kosmo integrations:list --json

Automation Contexts

The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.

CLI Functions

Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.

loops.loops_create_contact

Create a Loops contact.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_create_contact '{}' --json
Shortcut
kosmo integrations:loops loops_create_contact '{}' --json

loops.loops_update_contact

Update or create a Loops contact.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_update_contact '{}' --json
Shortcut
kosmo integrations:loops loops_update_contact '{}' --json

loops.loops_find_contact

Find a Loops contact by email or userId.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_find_contact '{}' --json
Shortcut
kosmo integrations:loops loops_find_contact '{}' --json

loops.loops_delete_contact

Delete a Loops contact.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_delete_contact '{}' --json
Shortcut
kosmo integrations:loops loops_delete_contact '{}' --json

loops.loops_check_contact_suppression

Check whether a contact is suppressed.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_check_contact_suppression '{}' --json
Shortcut
kosmo integrations:loops loops_check_contact_suppression '{}' --json

loops.loops_remove_contact_suppression

Remove a contact from the suppression list.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_remove_contact_suppression '{}' --json
Shortcut
kosmo integrations:loops loops_remove_contact_suppression '{}' --json

loops.loops_create_contact_property

Create a Loops contact property.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_create_contact_property '{}' --json
Shortcut
kosmo integrations:loops loops_create_contact_property '{}' --json

loops.loops_list_contact_properties

List Loops contact properties.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_list_contact_properties '{}' --json
Shortcut
kosmo integrations:loops loops_list_contact_properties '{}' --json

loops.loops_list_mailing_lists

List Loops mailing lists.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_list_mailing_lists '{}' --json
Shortcut
kosmo integrations:loops loops_list_mailing_lists '{}' --json

loops.loops_send_event

Send a Loops event.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_send_event '{}' --json
Shortcut
kosmo integrations:loops loops_send_event '{}' --json

loops.loops_send_transactional_email

Send a Loops transactional email.

Write write
Parameters
none
Generic call
kosmo integrations:call loops.loops_send_transactional_email '{}' --json
Shortcut
kosmo integrations:loops loops_send_transactional_email '{}' --json

loops.loops_list_transactional_emails

List Loops transactional emails.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_list_transactional_emails '{}' --json
Shortcut
kosmo integrations:loops loops_list_transactional_emails '{}' --json

loops.loops_test_api_key

Test the configured Loops API key.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_test_api_key '{}' --json
Shortcut
kosmo integrations:loops loops_test_api_key '{}' --json

loops.loops_list_dedicated_sending_ips

List dedicated sending IP addresses.

Read read
Parameters
none
Generic call
kosmo integrations:call loops.loops_list_dedicated_sending_ips '{}' --json
Shortcut
kosmo integrations:loops loops_list_dedicated_sending_ips '{}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

loops.loops_create_contact 0 parameters
Schema command
kosmo integrations:schema loops.loops_create_contact --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_update_contact 0 parameters
Schema command
kosmo integrations:schema loops.loops_update_contact --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_find_contact 0 parameters
Schema command
kosmo integrations:schema loops.loops_find_contact --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_delete_contact 0 parameters
Schema command
kosmo integrations:schema loops.loops_delete_contact --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_check_contact_suppression 0 parameters
Schema command
kosmo integrations:schema loops.loops_check_contact_suppression --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_remove_contact_suppression 0 parameters
Schema command
kosmo integrations:schema loops.loops_remove_contact_suppression --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_create_contact_property 0 parameters
Schema command
kosmo integrations:schema loops.loops_create_contact_property --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_list_contact_properties 0 parameters
Schema command
kosmo integrations:schema loops.loops_list_contact_properties --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_list_mailing_lists 0 parameters
Schema command
kosmo integrations:schema loops.loops_list_mailing_lists --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_send_event 0 parameters
Schema command
kosmo integrations:schema loops.loops_send_event --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_send_transactional_email 0 parameters
Schema command
kosmo integrations:schema loops.loops_send_transactional_email --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_list_transactional_emails 0 parameters
Schema command
kosmo integrations:schema loops.loops_list_transactional_emails --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_test_api_key 0 parameters
Schema command
kosmo integrations:schema loops.loops_test_api_key --json
ParameterTypeRequiredDescription
No parameters.
loops.loops_list_dedicated_sending_ips 0 parameters
Schema command
kosmo integrations:schema loops.loops_list_dedicated_sending_ips --json
ParameterTypeRequiredDescription
No parameters.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.