yaml
type: "io.kestra.plugin.airtable.records.Delete"
yaml
id: delete_completed_task
namespace: company.airtable

tasks:
  - id: delete_task
    type: io.kestra.plugin.airtable.records.Delete
    baseId: "{{ secret('AIRTABLE_BASE_ID') }}"
    tableId: "Tasks"
    recordId: "recXXXXXXXXXXXXXX"
    apiKey: "{{ secret('AIRTABLE_PERSONAL_ACCESS_TOKEN') }}"

yaml
id: delete_from_previous_output
namespace: company.airtable

tasks:
  - id: find_record_to_delete
    type: io.kestra.plugin.airtable.records.List
    baseId: "{{ secret('AIRTABLE_BASE_ID') }}"
    tableId: "Temporary"
    apiKey: "{{ secret('AIRTABLE_PERSONAL_ACCESS_TOKEN') }}"
    filterByFormula: "{Status} = 'To Delete'"
    fetchType: FETCH_ONE

  - id: delete_found_record
    type: io.kestra.plugin.airtable.records.Delete
    baseId: "{{ secret('AIRTABLE_BASE_ID') }}"
    tableId: "Temporary"
    recordId: "{{ outputs.find_record_to_delete.row.id }}"
    apiKey: "{{ secret('AIRTABLE_PERSONAL_ACCESS_TOKEN') }}"

yaml
id: delete_with_confirmation
namespace: company.airtable

inputs:
  - id: confirm_delete
    type: STRING
    required: true
  - id: order_id
    type: STRING
    required: true

tasks:
  - id: confirm_deletion
    type: io.kestra.plugin.core.flow.If
    condition: "{{ inputs.confirm_delete == 'yes' }}"
    then:
      - id: delete_record
        type: io.kestra.plugin.airtable.records.Delete
        baseId: "{{ secret('AIRTABLE_BASE_ID') }}"
        tableId: "Orders"
        recordId: "{{ inputs.order_id }}"
        apiKey: "{{ secret('AIRTABLE_PERSONAL_ACCESS_TOKEN') }}"
    else:
      - id: skip_deletion
        type: io.kestra.plugin.core.log.Log
        message: "Deletion cancelled - confirmation not provided"
Properties