Automated Finance Logoautomated.finance
Automations

No-Code Editor

Create complex automations visually using the no-code editor. Drag and drop components to build workflows without writing code.

Editor Interface

Main Layout

  • Left Sidebar: Available components (Hooks, Actions, Conditions)
  • Central Area: Canvas where you build the automation
  • Right Sidebar: Properties and settings of the selected component
  • Top Bar: Automation name, status, and controls

Available Components

Hooks (Triggers)

  • Crypto Charge Paid: Confirmed crypto payment
  • PIX Charge Paid: Paid PIX
  • Ramp Completed: On/off-ramp completed
  • Scheduler: Periodic execution
  • DeFi Position Updated: DeFi position updated

Actions

  • Crypto Transfer: Transfer crypto
  • Cross Swap: Cross-chain swap
  • On-chain Swap: On-chain swap
  • Ramp Off-ramp: Convert crypto to fiat
  • EVM Wallet Balance: Check balance
  • DeFi Operations: DeFi operations
  • DeFi Strategy: Deposit, withdraw, and check details
  • Numeric Split: Split values
  • Data Transformation: Arithmetic operations (sum, subtract, multiply, etc.)
  • Workspace Logic: Parallel execution and conditionals

Conditions

  • Expression (Dentaku): Advanced conditional logic with arithmetic and boolean expressions
  • Compare Values: Simple comparison
  • Check Balance: Check balance

How to Create an Automation

Step 1: Add Hook

  1. Drag a Hook from the left sidebar
  2. Drop it into the central canvas area
  3. Configure properties in the right sidebar

Step 2: Add Actions

  1. Drag an Action from the sidebar
  2. Connect it to the Hook with a line
  3. Configure the Action parameters

Step 3: Configure Connections

  1. Click on the Hook to select it
  2. Drag the connection line to the Action
  3. Configure dynamic values

Step 4: Test and Save

  1. Test the automation with sample data
  2. Save when satisfied
  3. Activate to start executing

Connection System

Dynamic Values

Use the Field Selector to connect data between components:

{events.hooks.crypto_charge_paid.amount}
{events.actions.123.to_amount}
{events.triggers.scheduler_456.data.balance}

Field Types

  • wallet: Wallets and addresses
  • token: Tokens and cryptocurrencies
  • amount: Numeric values
  • numeric: Numeric fields
  • beneficiary: Beneficiaries
  • any: Any field

Smart Filters

The Field Selector shows only compatible fields:

  • Included: Fields of the correct type
  • Excluded: Incompatible fields
  • Temporal: Only previous events

Practical Examples

1. Simple Auto-Transfer

Hook: crypto.charge.paid

Action: crypto.transfer.new
  - Source Wallet: {events.hooks.crypto_charge_paid.wallet_address}
  - Destination Wallet: Reserve wallet
  - Token: {events.hooks.crypto_charge_paid.token.id}
  - Amount: {events.hooks.crypto_charge_paid.amount}

2. Cross-Chain Swap

Hook: crypto.charge.paid

Action: cross.swap.new
  - Source Token: {events.hooks.crypto_charge_paid.token.id}
  - Destination Token: USDC
  - Amount: {events.hooks.crypto_charge_paid.amount}
  - Destination Address: USDC Wallet

3. Distribution with Numeric Split

Hook: crypto.charge.paid

Action: transform.numeric_split
  - Source Value: {events.hooks.crypto_charge_paid.amount}
  - Allocations:
    - 50% → Reserve
    - 30% → Investment
    - 20% → Expenses

4. Balance Monitoring

Hook: scheduler (EvmWallet)

Action: evm_wallet.get_token_balance
  - Wallet: Specific wallet
  - Token: USDC

Condition: If balance < $1000

Action: Send notification

Field Selector

How to Use

  1. Click on an input field
  2. Select "Use dynamic value"
  3. Choose the desired field from the list
  4. Confirm the selection

Interface

  • Field Tree: Organized by event type
  • Search: Filter fields by name
  • Filters: By field type and compatibility
  • Preview: See value before selecting

Tips

  • Bold Fields: Most relevant to the type
  • Icons: Indicate field type
  • Descriptions: Explain what each field contains

Advanced Configuration

Conditions

Add conditional logic to automations:

IF {events.hooks.crypto_charge_paid.amount} > 1000
  THEN crypto.transfer.new (VIP wallet)
ELSE
  crypto.transfer.new (normal wallet)

Multiple Actions

Connect multiple actions to the same hook:

Hook: crypto.charge.paid
  ├── Action 1: crypto.transfer.new
  ├── Action 2: cross.swap.new
  └── Action 3: send.notification

Action Chains

Connect actions in sequence:

Hook: crypto.charge.paid

Action 1: evm_wallet.get_token_balance

Action 2: cross.swap.new (using balance from Action 1)

Action 3: crypto.transfer.new (using result from Action 2)

Validation and Testing

Automatic Validation

  • Connections: Checks if fields are compatible
  • Types: Confirms correct data types
  • Required: Alerts about required fields
  • Limits: Checks security limits

Automation Test

  1. Click on "Test Automation"
  2. Choose sample data
  3. Execute step by step
  4. Verify results

Simulation

  • Dummy Data: Use sample data
  • Step-by-Step Execution: See each step
  • Detailed Logs: Track the process
  • Results: See what would happen

Monitoring

Automation Status

  • Active: Executing normally
  • Paused: Temporarily disabled
  • Error: Configuration problem
  • Disabled: Not executing

Execution Logs

  • Timestamp: When it was executed
  • Trigger: What started the execution
  • Actions: Which actions were executed
  • Result: Success or failure
  • Details: Full logs

Metrics

  • Executions per Day: How many times executed
  • Success Rate: Percentage of successes
  • Average Time: Duration of executions
  • Last Execution: When executed last time

Troubleshooting

Automation does not execute

  1. Check if it is active
  2. Confirm if hook was activated
  3. Check logs for errors
  4. Test manually

Field does not appear in selector

  1. Check if field has automation_type
  2. Confirm if compatible with type
  3. Check if event happens before action
  4. Test with sample data

Connection error

  1. Check if types are compatible
  2. Confirm if field exists
  3. Test with fixed values first
  4. Check error logs

Slow performance

  1. Simplify complex automations
  2. Reduce number of actions
  3. Optimize conditions
  4. Monitor executions

Tips and Best Practices

Automation Design

  • Start simple: Create basic automations first
  • Test frequently: Validate each step
  • Use descriptive names: Facilitate maintenance
  • Document: Add clear descriptions

Performance

  • Avoid loops: Do not create circular dependencies
  • Optimize conditions: Use efficient filters
  • Monitor executions: Track performance
  • Clean automations: Remove unused automations

Security

  • Test with small amounts: Validate before using high values
  • Configure limits: Set security limits
  • Monitor executions: Track regularly
  • Have backup: Keep previous versions

Detailed Action Reference

DeFi Positions

add_liquidity

  • Description: Adds liquidity to an existing DeFi position.
  • Key Parameters:
    • defi_position_id or position_reference: Identifier for the target DeFi position.
    • token_a_amount: The amount of the first token to add.
    • token_b_amount: The amount of the second token to add.
    • slippage_tolerance (optional): Allowed slippage percentage.

close_position

  • Description: Closes a DeFi position, withdrawing all liquidity and collecting any pending fees.
  • Key Parameters:
    • defi_position_id or position_reference: Identifier for the target DeFi position.
    • collect_fees (optional, default: true): Specifies whether to also collect pending fees.

collect_fees

  • Description: Executes an on-chain transaction to collect the fees earned by a DeFi position.
  • Key Parameters:
    • defi_position_id or position_reference: Identifier for the target DeFi position.
    • recipient (optional): The address to receive the collected fees. Defaults to the position's wallet.

get_fees_earned

  • Description: Retrieves detailed information about the fees earned by a position. This is a read-only action and does not perform a transaction.
  • Key Parameters:
    • defi_position_id or position_reference: Identifier for the target DeFi position.
  • Output Data: Returns amounts for available fees and total collected fees for both tokens.

get_position_data

  • Description: Fetches comprehensive on-chain and cached data for a specific DeFi position. This is a read-only action.
  • Key Parameters:
    • defi_position_id or position_reference: Identifier for the target DeFi position.
    • refresh_cache (optional, default: false): If set to true, it forces a refresh of the on-chain data.
  • Output Data: Includes liquidity, tick range, is_out_of_range status, token amounts, and fees earned.

DeFi Strategy Positions

deposit

  • Description: Deposits a specified amount of assets into a DeFi strategy position.
  • Key Parameters:
    • defi_strategy_position_id or position_reference: Identifier for the target DeFi strategy position.
    • amount or amount_path: The amount to deposit, specified directly or via a dynamic path.

get_details

  • Description: Retrieves the latest details for a DeFi strategy position from the provider's API. This is a read-only action.
  • Key Parameters:
    • defi_strategy_position_id or position_reference: Identifier for the target DeFi strategy position.
  • Output Data: Returns comprehensive details including balances, current value in USD, APY (current, average, inception), profit/loss, and historical transaction data.

withdraw

  • Description: Withdraws assets from a DeFi strategy position.
  • Key Parameters:
    • defi_strategy_position_id or position_reference: Identifier for the target DeFi strategy position.
    • amount or amount_path (optional): The amount to withdraw. If not provided, the action will withdraw the entire available balance.

EVM Wallet

get_native_balance

  • Description: Retrieves the native coin balance (e.g., ETH, MATIC) for a specified EVM wallet on a given network. This is a read-only action.
  • Key Parameters:
    • account_network_id: Identifier for the target network.
    • wallet_field: Identifier for the target wallet.
  • Output Data: Returns the balance in both wei and standard format (e.g., eth), along with network details.

get_token_balance

  • Description: Retrieves the balance of a specific ERC20 token for a specified EVM wallet. This is a read-only action.
  • Key Parameters:
    • account_accepted_cryptocurrency_id: Identifier for the target ERC20 token.
    • wallet_field: Identifier for the target wallet.
  • Output Data: Returns the raw and formatted token balance, the token's current USD price, and the total USD value of the balance.

Data Transformation

arithmetic_sum

  • Description: Calculates the sum of a list of numeric values.
  • Key Parameters:
    • sources: An array where each item defines a value to be added. A source can be a fixed_value, a path to a value in the execution state, or an array_path to an array of numbers (which will be summed up before being added to the total).

arithmetic_subtract

  • Description: Subtracts a series of numbers from a base value.
  • Key Parameters:
    • sources: An array of values. The first element is the base value (minuend), and all subsequent elements are subtracted from it.

arithmetic_multiply

  • Description: Calculates the product of a list of numeric values.
  • Key Parameters:
    • sources: An array of values to be multiplied.

arithmetic_divide

  • Description: Divides a number sequentially by a list of other numbers.
  • Key Parameters:
    • sources: An array of values. The first element is the dividend, and subsequent elements are the divisors. Includes protection against division by zero.

arithmetic_count

  • Description: Counts the total number of items from various sources.
  • Key Parameters:
    • sources: An array of sources. If a source is an array, it counts the number of elements. If it's a single value, it counts as 1.

arithmetic_math_expression

  • Description: Evaluates a mathematical string expression using variables from the execution state.
  • Key Parameters:
    • expression: A string containing the mathematical formula (e.g., "varA * (varB + 10)").
    • variables: An array defining the variables used in the expression and mapping them to fixed values or paths in the execution state.

numeric_split

  • Description: Splits a numeric value into multiple parts based on defined allocations.
  • Key Parameters:
    • source_value_path: The path to the numeric value to be split.
    • allocations: An array or object defining how the value should be distributed. Allocations can be of type percentage or fixed_value.
  • Output Data: Returns an object containing the calculated values for each allocation and the remaining dust amount.

On-Chain Swaps

generate_new

  • Description: Executes an on-chain token swap on a decentralized exchange like Uniswap.
  • Key Parameters:
    • wallet_id: The wallet performing the swap.
    • token_in_id: The token to sell.
    • token_out_id: The token to buy.
    • amount_in: The amount of the input token to sell.
    • slippage (optional): The allowed slippage percentage.

Crypto Transfers

generate_new

  • Description: Initiates a standard cryptocurrency transfer from one wallet to another.
  • Key Parameters:
    • from_wallet: The source wallet address.
    • to_wallet: The destination wallet address.
    • token: The token to transfer.
    • amount: The amount of the token to transfer.

Ramps

off_ramp.generate_new

  • Description: Creates an off-ramp process to convert cryptocurrency into fiat, sending it to a registered beneficiary. The action handles quote generation and schedules monitoring for the ramp's completion.
  • Key Parameters:
    • beneficiary_id: The beneficiary who will receive the fiat currency.
    • amount: The amount of crypto to convert.
    • wallet: The source wallet for the cryptocurrency.
    • input_asset_id: The crypto asset to be sold.
    • output_asset_id: The fiat asset to be received.

Cross-Chain Swaps

generate_new

  • Description: Initiates a cross-chain swap, allowing token exchange between different blockchain networks. The action schedules monitoring for the swap's completion.
  • Key Parameters:
    • from_token_id: The source token.
    • to_token_id: The destination token (on a different chain).
    • amount: The amount to swap.
    • to_address: The destination wallet address on the target chain.
    • wallet (optional): The source wallet.

Workspace & Logic

parallel_execute

  • Description: Triggers the execution of another workspace in parallel.
  • Key Parameters:
    • workspace_id: The ID of the workspace to execute.
    • pass_data (optional): An object mapping keys to paths in the current execution's state, allowing data to be passed to the new execution.

conditional

  • Description: Acts as a decision node in a workflow. It evaluates if its attached triggers were activated based on a defined logic and outputs a boolean result (condition_pass).
  • Key Parameters:
    • trigger_logic: Can be all (all required triggers must be active) or any (at least one required trigger must be active).
    • required_triggers: An array of trigger IDs that this action depends on.

Next steps: Explore the Event Structure to better understand the available data.