Run a Design Automation WorkItem
A 7-step recipe with Autodesk. We can help you get access.
Recipe · 7 steps
Run a Design Automation WorkItem
with Autodesk
Publish an AppBundle and Activity, then execute a WorkItem against them.
- List the engines available to the caller so the Activity targets a version that actually exists rather than a guessed product string.
- Create the AppBundle record. The response carries uploadParameters, the pre-signed form endpoint the packaged binary is POSTed to before the alias is created.
- Point a stable alias at the AppBundle version just created, so Activities can reference "name+alias" and never a moving version number.
- Define the Activity: which engine runs, which AppBundle loads, what command line executes, and the input and output parameters the WorkItem will bind URLs to.
- Alias the Activity version so WorkItems submit against a stable id while new versions can be published behind it.
- Submit the WorkItem, binding the Activity's declared parameters to real URLs. The engine downloads inputFile, runs the command line, and uploads outputFile.
- Poll the WorkItem until it succeeds. The endpoint returns 200 throughout, so the terminal state is read from the body. On any failed state the workflow ends and the reportUrl carries the engine's log.
What you'll need to have ready
- engine: The fully qualified engine id the code targets (e.g. "Autodesk.AutoCAD+24_1").
- appBundleName: Name of the AppBundle holding the custom plugin or script.
- activityName: Name of the Activity that invokes the AppBundle.
- aliasName: Alias to publish both the AppBundle and Activity under (e.g. "prod").
- qualifiedActivityId: The fully qualified Activity id the WorkItem runs, in owner.activity+alias form. The owner segment is your app's nickname.
- commandLine: Command line instructions handed to the engine.
- inputFileUrl: URL the engine downloads the input drawing from.
- outputFileUrl: URL the engine uploads the result to.
- inputLocalName: Local filename the engine sees for the input.
- outputLocalName: Local filename the engine writes the result to.
- limitProcessingTimeSec: Hard processing time limit for the WorkItem, in seconds.
For your developer
Arazzo workflow autodesk:run-design-automation-workitem, 7 operations: getEngines → createAppBundle → createAppBundleAlias → createActivity → createActivityAlias → createWorkItem → getWorkItemStatus. Specs on APIs.io.