Ramp · Arazzo Workflow

Ramp Trace Transaction To Account Detail

Version 1.0.0

List transactions, retrieve the first in full, then pull GL accounts for coding.

1 workflow 1 source API 1 provider
View Spec View on GitHub FinanceSpend ManagementCorporate CardsExpense ManagementAccounts PayableBill PayAccountingReimbursementsArazzoWorkflows

Provider

ramp

Workflows

trace-transaction-to-account-detail
List transactions, retrieve the first in full, and list accounts for coding.
Lists transactions, retrieves the first transaction's detail, and lists general ledger accounts so the transaction can be coded.
3 steps inputs: accessToken, fromDate, toDate outputs: accounts, categoryId, merchantName
1
listTransactions
listTransactions
List transactions for the date window and capture the first transaction's id.
2
getTransaction
getTransaction
Retrieve the full record of the first transaction to read its merchant and category hint.
3
listAccounts
listAccountingAccounts
List general ledger accounts so the retrieved transaction can be coded to the appropriate account.

Source API Descriptions

Arazzo Workflow Specification

ramp-trace-transaction-to-account-detail-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Ramp Trace Transaction To Account Detail
  summary: List transactions, retrieve the first in full, then pull GL accounts for coding.
  description: >-
    A three-step accounting read chain. The workflow lists transactions in a
    date window, retrieves the first transaction in full to read its merchant
    and category hint, and then lists general ledger accounts so a caller can
    decide which account to code the spend against. This stitches the supported
    list, retrieve, and chart-of-accounts operations into one coding-ready
    flow. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: rampApi
  url: ../openapi/ramp-developer-api-openapi.yml
  type: openapi
workflows:
- workflowId: trace-transaction-to-account-detail
  summary: List transactions, retrieve the first in full, and list accounts for coding.
  description: >-
    Lists transactions, retrieves the first transaction's detail, and lists
    general ledger accounts so the transaction can be coded.
  inputs:
    type: object
    required:
    - fromDate
    - toDate
    properties:
      accessToken:
        type: string
        description: OAuth2 client-credentials bearer token with transactions:read and accounting:read scopes.
      fromDate:
        type: string
        format: date
        description: Inclusive lower bound for the transaction window (YYYY-MM-DD).
      toDate:
        type: string
        format: date
        description: Inclusive upper bound for the transaction window (YYYY-MM-DD).
  steps:
  - stepId: listTransactions
    description: >-
      List transactions for the date window and capture the first
      transaction's id.
    operationId: listTransactions
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: from_date
      in: query
      value: $inputs.fromDate
    - name: to_date
      in: query
      value: $inputs.toDate
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstTransactionId: $response.body#/data/0/id
  - stepId: getTransaction
    description: >-
      Retrieve the full record of the first transaction to read its merchant
      and category hint.
    operationId: getTransaction
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: id
      in: path
      value: $steps.listTransactions.outputs.firstTransactionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      merchantName: $response.body#/merchant_name
      categoryId: $response.body#/sk_category_id
      amount: $response.body#/amount
  - stepId: listAccounts
    description: >-
      List general ledger accounts so the retrieved transaction can be coded
      to the appropriate account.
    operationId: listAccountingAccounts
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accounts: $response.body#/data
  outputs:
    merchantName: $steps.getTransaction.outputs.merchantName
    categoryId: $steps.getTransaction.outputs.categoryId
    accounts: $steps.listAccounts.outputs.accounts