> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assetinfinity.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Start a new workflow as a copy of an existing one, to change and then publish.

> Start a new workflow as a copy of an existing one, to change and then publish.

The copy carries the description, whether approvers are asked for a remark and a file, which roles it
is for, and one version of the chain: its condition, every step and its settings, who signs each
step, what each step asks to see, and how the steps connect. That is the version named, or the
published one when none is named, or the newest draft when nothing has been published.

Left without an entity and action, the copy holds the same entity and action in the same way, and is
asked straight after the workflow it was copied from, so while the original is live and the two have
the same condition, every request still goes to the original.

Given another entity, action or way of holding it, the copy goes there instead, checked the way a new
workflow is, and is asked after the workflows already there. A condition naming a field requests
there do not carry is left out, so the copy starts with none; a field a step asks for that cannot be
asked the same way there is left off that step. `workflow_copy_preview` says beforehand which.

The copy is version 1, a draft, and turned off: publishing it turns it on. The original is not
changed. The name defaults to the original's with "(copy)" after it.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/clone_workflow
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: My work
  - name: Sites and locations
  - name: Assets
  - name: Asset lifecycle
  - name: Asset components
  - name: Kits
  - name: Work lifecycle
  - name: Work order execution
  - name: Work sequencing
  - name: Maintenance
  - name: Inspections
  - name: Checklists
  - name: Verification
  - name: Self verification
  - name: Inventory
  - name: Inventory detail
  - name: Parts demand
  - name: Procurement
  - name: Catalogue
  - name: Vendors and contracts
  - name: Contracts
  - name: Amendments
  - name: Vendor spend forecast
  - name: Workforce
  - name: Workforce detail
  - name: Capacity
  - name: Dispatch
  - name: Shutdown
  - name: Permits
  - name: Tools
  - name: Tools on jobs
  - name: Bookings
  - name: Booking hand over
  - name: Booking bills
  - name: Calibration history
  - name: Reliability
  - name: Sensors and meters
  - name: Readers
  - name: Trackers
  - name: Real-time location
  - name: Feeds
  - name: Energy
  - name: IT assets
  - name: IT asset software
  - name: IT asset topology
  - name: Warranty lookups
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Visitors
  - name: Root cause analysis
  - name: Costing
  - name: Finance
  - name: E-way bills
  - name: E-way bill filing
  - name: Budgets
  - name: Capex plans
  - name: Capex consolidation
  - name: Capex capitalization
  - name: FF&E plans
  - name: Documents
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Knowledge
  - name: Reports
  - name: Dashboards
  - name: Extracts
  - name: Data exports
  - name: Audit center
  - name: Audit feed
  - name: Activity
  - name: Conversations
  - name: Notifications
  - name: Date reminders
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Bulk jobs
  - name: File exchange
  - name: Filing exceptions
  - name: Files
  - name: Sync
  - name: Support
  - name: API keys
  - name: Webhooks
  - name: MCP connections
  - name: MCP sign-in
  - name: SCIM provisioning
  - name: Directory sync
  - name: Security streams
  - name: Clarity
  - name: Single sign-on
  - name: Two-factor sign-in
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: List views
  - name: Mapping
  - name: Numbering
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Today
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Setup
  - name: Features
  - name: Billing
  - name: Licence
  - name: Welcome
  - name: Tray
  - name: Tenant switch
  - name: Release
  - name: Upgrade
  - name: Telegram
  - name: Whatsapp
  - name: Inbound mail
  - name: Platform
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /rpc/clone_workflow:
    post:
      tags:
        - Workflow studio
      summary: >-
        Start a new workflow as a copy of an existing one, to change and then
        publish.
      description: >-
        Start a new workflow as a copy of an existing one, to change and then
        publish.


        The copy carries the description, whether approvers are asked for a
        remark and a file, which roles it

        is for, and one version of the chain: its condition, every step and its
        settings, who signs each

        step, what each step asks to see, and how the steps connect. That is the
        version named, or the

        published one when none is named, or the newest draft when nothing has
        been published.


        Left without an entity and action, the copy holds the same entity and
        action in the same way, and is

        asked straight after the workflow it was copied from, so while the
        original is live and the two have

        the same condition, every request still goes to the original.


        Given another entity, action or way of holding it, the copy goes there
        instead, checked the way a new

        workflow is, and is asked after the workflows already there. A condition
        naming a field requests

        there do not carry is left out, so the copy starts with none; a field a
        step asks for that cannot be

        asked the same way there is left off that step. `workflow_copy_preview`
        says beforehand which.


        The copy is version 1, a draft, and turned off: publishing it turns it
        on. The original is not

        changed. The name defaults to the original's with "(copy)" after it.
      parameters:
        - $ref: '#/components/parameters/preferParams'
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Start a new workflow as a copy of an existing one, to change and
                then publish.


                The copy carries the description, whether approvers are asked
                for a remark and a file, which roles it

                is for, and one version of the chain: its condition, every step
                and its settings, who signs each

                step, what each step asks to see, and how the steps connect.
                That is the version named, or the

                published one when none is named, or the newest draft when
                nothing has been published.


                Left without an entity and action, the copy holds the same
                entity and action in the same way, and is

                asked straight after the workflow it was copied from, so while
                the original is live and the two have

                the same condition, every request still goes to the original.


                Given another entity, action or way of holding it, the copy goes
                there instead, checked the way a new

                workflow is, and is asked after the workflows already there. A
                condition naming a field requests

                there do not carry is left out, so the copy starts with none; a
                field a step asks for that cannot be

                asked the same way there is left off that step.
                `workflow_copy_preview` says beforehand which.


                The copy is version 1, a draft, and turned off: publishing it
                turns it on. The original is not

                changed. The name defaults to the original's with "(copy)" after
                it.
              properties:
                p_action:
                  format: text
                  type: string
                p_entity_type:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_rpc_name:
                  format: text
                  type: string
                p_version_id:
                  format: uuid
                  type: string
                p_workflow_id:
                  format: uuid
                  type: string
              required:
                - p_workflow_id
              type: object
          application/vnd.pgrst.object+json:
            schema:
              description: >-
                Start a new workflow as a copy of an existing one, to change and
                then publish.


                The copy carries the description, whether approvers are asked
                for a remark and a file, which roles it

                is for, and one version of the chain: its condition, every step
                and its settings, who signs each

                step, what each step asks to see, and how the steps connect.
                That is the version named, or the

                published one when none is named, or the newest draft when
                nothing has been published.


                Left without an entity and action, the copy holds the same
                entity and action in the same way, and is

                asked straight after the workflow it was copied from, so while
                the original is live and the two have

                the same condition, every request still goes to the original.


                Given another entity, action or way of holding it, the copy goes
                there instead, checked the way a new

                workflow is, and is asked after the workflows already there. A
                condition naming a field requests

                there do not carry is left out, so the copy starts with none; a
                field a step asks for that cannot be

                asked the same way there is left off that step.
                `workflow_copy_preview` says beforehand which.


                The copy is version 1, a draft, and turned off: publishing it
                turns it on. The original is not

                changed. The name defaults to the original's with "(copy)" after
                it.
              properties:
                p_action:
                  format: text
                  type: string
                p_entity_type:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_rpc_name:
                  format: text
                  type: string
                p_version_id:
                  format: uuid
                  type: string
                p_workflow_id:
                  format: uuid
                  type: string
              required:
                - p_workflow_id
              type: object
          application/vnd.pgrst.object+json;nulls=stripped:
            schema:
              description: >-
                Start a new workflow as a copy of an existing one, to change and
                then publish.


                The copy carries the description, whether approvers are asked
                for a remark and a file, which roles it

                is for, and one version of the chain: its condition, every step
                and its settings, who signs each

                step, what each step asks to see, and how the steps connect.
                That is the version named, or the

                published one when none is named, or the newest draft when
                nothing has been published.


                Left without an entity and action, the copy holds the same
                entity and action in the same way, and is

                asked straight after the workflow it was copied from, so while
                the original is live and the two have

                the same condition, every request still goes to the original.


                Given another entity, action or way of holding it, the copy goes
                there instead, checked the way a new

                workflow is, and is asked after the workflows already there. A
                condition naming a field requests

                there do not carry is left out, so the copy starts with none; a
                field a step asks for that cannot be

                asked the same way there is left off that step.
                `workflow_copy_preview` says beforehand which.


                The copy is version 1, a draft, and turned off: publishing it
                turns it on. The original is not

                changed. The name defaults to the original's with "(copy)" after
                it.
              properties:
                p_action:
                  format: text
                  type: string
                p_entity_type:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_rpc_name:
                  format: text
                  type: string
                p_version_id:
                  format: uuid
                  type: string
                p_workflow_id:
                  format: uuid
                  type: string
              required:
                - p_workflow_id
              type: object
          text/csv:
            schema:
              description: >-
                Start a new workflow as a copy of an existing one, to change and
                then publish.


                The copy carries the description, whether approvers are asked
                for a remark and a file, which roles it

                is for, and one version of the chain: its condition, every step
                and its settings, who signs each

                step, what each step asks to see, and how the steps connect.
                That is the version named, or the

                published one when none is named, or the newest draft when
                nothing has been published.


                Left without an entity and action, the copy holds the same
                entity and action in the same way, and is

                asked straight after the workflow it was copied from, so while
                the original is live and the two have

                the same condition, every request still goes to the original.


                Given another entity, action or way of holding it, the copy goes
                there instead, checked the way a new

                workflow is, and is asked after the workflows already there. A
                condition naming a field requests

                there do not carry is left out, so the copy starts with none; a
                field a step asks for that cannot be

                asked the same way there is left off that step.
                `workflow_copy_preview` says beforehand which.


                The copy is version 1, a draft, and turned off: publishing it
                turns it on. The original is not

                changed. The name defaults to the original's with "(copy)" after
                it.
              properties:
                p_action:
                  format: text
                  type: string
                p_entity_type:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_rpc_name:
                  format: text
                  type: string
                p_version_id:
                  format: uuid
                  type: string
                p_workflow_id:
                  format: uuid
                  type: string
              required:
                - p_workflow_id
              type: object
        required: true
      responses:
        '200':
          description: OK
components:
  parameters:
    preferParams:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - params=single-object
        type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.