Discussions

 View Only
  • 1.  Automation to pipelines

    Posted 01-24-2023 11:51
    Hi, 

    I am trying to migrate an existing automation to pipelines. The problem is the automation includes more than 26 steps. All the actions in automation is adding a record to a certain table and that step repeats 49 times. In other words, Add record 1, add record 2, add record 3.....add record 49. Is there a way to optimize the existing automation to reduce the number of steps to below 26 and migrate to pipelines?

    Or is it better to build a new pipeline and how do I build a new pipeline with steps less than 26 but at the same time add 60 records or more.

    Any help will be appreciated.

    ------------------------------
    Bibhav Rimal
    ------------------------------


  • 2.  RE: Automation to pipelines

    Posted 01-24-2023 11:53
    Can you explain what these child records represent? One way to do this is to have a helper table which includes these records to be added. Then have a single pipeline step which will do a table to table import copying those records as records into the target table.

    ------------------------------
    Mark Shnier (Your Quickbase Coach)
    mark.shnier@gmail.com
    ------------------------------



  • 3.  RE: Automation to pipelines

    Posted 01-24-2023 12:33
    Hi Mark, 

    These records are adding parts and quantities. 

    Trigger: add a record to X table with A and B is checked.
    Action 1: Add a record (part 1 and quantities 1) to Y table.
    Action 2: Add a record (part 2 and quantities 2) to Y table.
    Action 49: Add a record (part 3 and quantities3) to Y table

    ------------------------------
    Bibhav Rimal
    ------------------------------



  • 4.  RE: Automation to pipelines

    Posted 01-25-2023 10:10
    Are these records being added to a parent record as child records?
    Like this is a Project and based on the Project Type you need a certain set of Child records Created?

    ------------------------------
    Mark Shnier (Your Quickbase Coach)
    mark.shnier@gmail.com
    ------------------------------



  • 5.  RE: Automation to pipelines

    Posted 01-30-2023 17:10

    Let's say we are building a house in Site A

    There are 3 tables to consider;

    1. Activities table
    2. Parts master list table and
    3. Build parts table.

    Whenever a record is created in the activities table the automation pulls the parts needed for that building in site A from the master list and populates it in the build parts table. Now if I want to add 49 parts, I can do so by going to the activities table and I can pick the parts and quantities I need for that building. I cannot add more than 49 parts because of the limitation of the automation. So if there are 100 parts I can only add 49 parts at a time. 

    I want to migrate this automation to pipeline but there are more than 26 steps and I cannot migrate to pipelines. I am looking for an efficient way to optimize this automation to less than 26 steps.

    I was reading about callable pipeline. will it work in this situation?

    For each part I want to add there are different steps. 



    ------------------------------
    Bibhav Rimal
    ------------------------------



  • 6.  RE: Automation to pipelines

    Posted 01-30-2023 17:43
    I suggest that you consider not using Pipelines or Automations to individually add the parts list.

    Instead, make a table of Standard House types - in fact maybe you already have this table which would select from when you create an Activity.  Create a child table to that table called Standard Build Parts.   The standard build parts would be selected off a relationship from the Parts Master.

    The set up a pipeline to trigger when a House Type is selected and the Activity has no child build parts as yet.

    The Pipeline will trigger and the search the Standard Build parts table for those parts which match the House Type.  Then have a "For Each" loop to create the child Build parts records.

    The advantage of this method,  of course, is that you can easily maintain the standard build parts  for any Standard House Type, the Standard Build Parts are easily visible to users,  and creating new House Type with their own sets of standard bill parts is easy without having to modify the Pipeline.

    ------------------------------
    Mark Shnier (Your Quickbase Coach)
    mark.shnier@gmail.com
    ------------------------------



  • 7.  RE: Automation to pipelines

    Posted 02-08-2023 13:59
    So below is what the automation is doing in the background for the same topic above. I added more parts and quantiles later. Originally there were 20 steps.  It is just creating new parts and quantities, 49 in total. is there a way to optimize the steps to below 26? 

    # Add on - Created
    #
    # .. Migrated from automation (f328a7da-5e60-47d5-a4c9-894b04db4931)
    #

    # Account slugs:
    # - quickbase[P326pA]: QB Automation To Pipeline <None>
    ---
    - META:
    name: Add on - Created
    description: .. Migrated from automation (f328a7da-5e60-47d5-a4c9-894b04db4931)
    tag_names:
    - Migrated from Automations
    - TRIGGER quickbase[P326pA] record on_create -> a:
    inputs-meta:
    export_fields: 56,54,42,60,61,62,63,64,65,66,67,68,34,53,25,26,27,20,19,28,29,40,41,3,8,59,14,51,39,38,15,58,55,18,31,30,37,36,35,52,33,32,57
    query: '{''6''.EX.''Created''}OR{''109''.EX.''true''}'
    table: '"Scaffold App: Activities" <brijmuz5i>'
    - ACTION quickbase[P326pA] record create -> b:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_1}}'
    quantity: '{{a.quantity_1}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> c:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_2}}'
    quantity: '{{a.quantity_2}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> d:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_3}}'
    quantity: '{{a.quantity_3}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> e:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_4}}'
    quantity: '{{a.quantity_4}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> f:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_5}}'
    quantity: '{{a.quantity_5}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> g:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_6}}'
    quantity: '{{a.quantity_6}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> h:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_7}}'
    quantity: '{{a.quantity_7}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> i:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_8}}'
    quantity: '{{a.quantity_8}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> j:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_9}}'
    quantity: '{{a.quantity_9}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> k:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_10}}'
    quantity: '{{a.quantity_10}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> l:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_11}}'
    quantity: '{{a.quantity_11}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> m:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_12}}'
    quantity: '{{a.quantity_12}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> n:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_13}}'
    quantity: '{{a.quantity_13}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> o:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_14}}'
    quantity: '{{a.quantity_14}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> p:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_15}}'
    quantity: '{{a.quantity_15}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> q:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_16}}'
    quantity: '{{a.quantity_16}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> r:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_17}}'
    quantity: '{{a.quantity_17}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> s:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_18}}'
    quantity: '{{a.quantity_18}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> t:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_19}}'
    quantity: '{{a.quantity_19}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] record create -> u:
    inputs-meta:
    export_fields: 7,14,16,30,31
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    inputs:
    add_on_dismantle_id: '{{a.add_on_dismantle_id}}'
    part: '{{a.part_20}}'
    quantity: '{{a.quantity_20}}'
    related_activity: '{{a.id}}'
    related_build: '{{a.build_record_id}}'
    - ACTION quickbase[P326pA] bulk_record_set delete_by_filter -> v:
    inputs-meta:
    query: '{''7''.EX.''''}'
    table: '"Scaffold App: Build Parts" <bqjqhqtyv>'
    ...

    ------------------------------
    Bibhav Rimal
    ------------------------------



  • 8.  RE: Automation to pipelines

    Posted 02-08-2023 15:46
    Yes. See my response above.

    ------------------------------
    Mark Shnier (Your Quickbase Coach)
    mark.shnier@gmail.com
    ------------------------------



  • 9.  RE: Automation to pipelines

    Posted 02-10-2023 09:23

    That parts section should probably be a subtable. Then you could do a search for child records and do a bulk record upsert. 

    You might be able to get away with setting up a formula to create a list, and then doing a regex in a pipeline to parse out the information and then perform the bulk record operations. 



    ------------------------------
    Dwight Munson
    ------------------------------