Autodesk · Arazzo Workflow

Autodesk Calculate Embodied Carbon from a Regional Dataset

Version 1.0.0

Find a sustainability dataset, locate a regional emission record, read its factor, and calculate emissions.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Fortune 10003D ModelingArchitectureBIMCADConstructionDesignDigital TwinsEngineeringManufacturingMedia and EntertainmentSustainabilityArazzoWorkflows

Provider

autodesk

Workflows

calculate-regional-emissions
Resolve a regional emission factor and calculate emissions for a quantity.
Lists datasets of the requested type, finds the record matching region, category, and year, reads the record to capture its emission factor and unit, and submits a calculation for the supplied quantity.
4 steps inputs: category, datasetType, quantity, region, year outputs: datasetId, provider, recordId, totalEmissions, unit
1
findDataset
List the datasets of the requested impact type and take the first. Each dataset names its data provider and version, which is what makes the resulting number auditable.
2
findRecord
Find the emission record for the target region, category, and year. Emission factors are strongly regional, so a factor from the wrong grid or the wrong year is simply the wrong answer.
3
readRecord
Read the record to capture the emission factor, its unit, and the unit the quantity must be expressed in before any calculation is submitted.
4
calculate
Calculate total emissions for the quantity against the resolved record, passing the unit the record itself declares so the arithmetic cannot be done against a mismatched unit.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Autodesk Calculate Embodied Carbon from a Regional Dataset
  summary: Find a sustainability dataset, locate a regional emission record, read its factor, and calculate emissions.
  description: >-
    Turning a quantity from a design into a defensible carbon number. The workflow
    finds the right sustainability dataset for the impact category, locates the
    emission record for the correct region and year, reads that record's emission
    factor and unit, and calculates total emissions for a quantity. The record is
    resolved before the calculation so the result is traceable to a named data
    provider, region, and vintage rather than an anonymous constant. 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
  x-realizes-capability-ids:
  - BC-740.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-740.20
      capability_name: Climate & Carbon Management
      spec: autodesk-calculations-api-openapi.yml
      confidence: 0.75
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: calculationsApi
  url: ../openapi/autodesk-calculations-api-openapi.yml
  type: openapi
- name: datasetsApi
  url: ../openapi/autodesk-datasets-api-openapi.yml
  type: openapi
- name: recordsApi
  url: ../openapi/autodesk-records-api-openapi.yml
  type: openapi
workflows:
- workflowId: calculate-regional-emissions
  summary: Resolve a regional emission factor and calculate emissions for a quantity.
  description: >-
    Lists datasets of the requested type, finds the record matching region, category,
    and year, reads the record to capture its emission factor and unit, and submits a
    calculation for the supplied quantity.
  inputs:
    type: object
    required:
    - datasetType
    - region
    - quantity
    properties:
      datasetType:
        type: string
        description: >-
          The dataset type to search: electricity, material, transportation, or
          construction.
      region:
        type: string
        description: Region or country code the emission factor must apply to.
      category:
        type: string
        description: Category to narrow the record search within the dataset.
      year:
        type: integer
        description: Data vintage year the factor should come from.
      quantity:
        type: number
        description: >-
          The quantity to calculate emissions for, in the unit the record specifies.
  steps:
  - stepId: findDataset
    description: >-
      List the datasets of the requested impact type and take the first. Each dataset
      names its data provider and version, which is what makes the resulting number
      auditable.
    operationId: getDatasets
    parameters:
    - name: filter[type]
      in: query
      value: $inputs.datasetType
    - name: page[limit]
      in: query
      value: 25
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.data.length > 0
      type: jsonpath
    outputs:
      datasetId: $response.body#/data/0/id
      datasetName: $response.body#/data/0/name
      provider: $response.body#/data/0/provider
      version: $response.body#/data/0/version
  - stepId: findRecord
    description: >-
      Find the emission record for the target region, category, and year. Emission
      factors are strongly regional, so a factor from the wrong grid or the wrong year
      is simply the wrong answer.
    operationId: getRecords
    parameters:
    - name: datasetId
      in: path
      value: $steps.findDataset.outputs.datasetId
    - name: filter[region]
      in: query
      value: $inputs.region
    - name: filter[category]
      in: query
      value: $inputs.category
    - name: filter[year]
      in: query
      value: $inputs.year
    - name: page[limit]
      in: query
      value: 25
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.data.length > 0
      type: jsonpath
    outputs:
      recordId: $response.body#/data/0/id
      records: $response.body#/data
  - stepId: readRecord
    description: >-
      Read the record to capture the emission factor, its unit, and the unit the
      quantity must be expressed in before any calculation is submitted.
    operationId: getRecord
    parameters:
    - name: datasetId
      in: path
      value: $steps.findDataset.outputs.datasetId
    - name: recordId
      in: path
      value: $steps.findRecord.outputs.recordId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      recordId: $response.body#/id
      recordName: $response.body#/name
      unit: $response.body#/unit
      emissionFactor: $response.body#/emissionFactor
      emissionFactorUnit: $response.body#/emissionFactorUnit
      gwp: $response.body#/gwp
  - stepId: calculate
    description: >-
      Calculate total emissions for the quantity against the resolved record, passing
      the unit the record itself declares so the arithmetic cannot be done against a
      mismatched unit.
    operationId: calculateEmissions
    requestBody:
      contentType: application/json
      payload:
        datasetId: $steps.findDataset.outputs.datasetId
        recordId: $steps.readRecord.outputs.recordId
        quantity: $inputs.quantity
        unit: $steps.readRecord.outputs.unit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      totalEmissions: $response.body#/totalEmissions
      unit: $response.body#/unit
      emissionFactor: $response.body#/emissionFactor
  outputs:
    datasetId: $steps.findDataset.outputs.datasetId
    provider: $steps.findDataset.outputs.provider
    recordId: $steps.readRecord.outputs.recordId
    totalEmissions: $steps.calculate.outputs.totalEmissions
    unit: $steps.calculate.outputs.unit

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/autodesk-sustainability-carbon-calculation-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.