Skip to content

Working with data operations and variables in Power Automate

When you pull information from Tallyfy into Power Automate, you’ll deal with collections of tasks, form field data, and JSON payloads. Variables, loops, and data operations are the tools that let you store values, transform data, and process multiple items at once.

How variables work with Tallyfy integrations

Variables are temporary storage that persists while your flow runs. Here’s why they matter for Tallyfy work:

  • Store intermediate results from Tallyfy data lookups
  • Count tasks that match specific criteria
  • Build up a list of task names before sending it somewhere else
  • Control loop behavior based on changing Tallyfy values

Variable types in Power Automate: Boolean, Integer, Float, String, Array, and Object.

Common variable actions:

  • Initialize variable - declares the variable with a name, type, and starting value (always goes first)
  • Set variable - overwrites the current value
  • Increment / Decrement variable - adds or subtracts 1, great for counters
  • Append to string variable - tacks text onto the end
  • Append to array variable - pushes a new item into the list

Looping through Tallyfy data with Apply to each

The Apply to each control runs your actions once per item in an array.

  • Power Automate adds it automatically when you pick dynamic content that’s a list (like rows from a Tallyfy table form field)
  • You can also add one manually and point it at array data from an earlier step

Tallyfy example: Say a task has a table-type form field listing equipment for a project. When you fetch that task through the Tallyfy connector or API, the table comes back as an array. Use “Apply to each” to loop through every row - maybe creating purchase orders in your ERP or adding items as tasks in another Tallyfy process.

Parsing JSON from Tallyfy

Tallyfy webhooks and API responses return JSON. The Parse JSON data operation turns that raw text into structured objects you can reference as dynamic content.

How to set it up:

  1. Add Parse JSON from Data Operations
  2. Content - point it at your JSON string from Tallyfy
  3. Schema - click Generate from sample and paste real JSON from a Tallyfy webhook or API call

Tallyfy example: Someone launches a process and your webhook fires a JSON payload to Power Automate. That payload contains the process name, who started it, and all kick-off form data - but it’s just a text blob until you parse it. After parsing, you can grab the initiator’s email, route form data to other systems, or trigger follow-up actions.

Handling Tallyfy field types after parsing:

  • Text fields - map directly as strings
  • Dropdown fields - use item()?['fieldName']?['text'] for the display label
  • Checkbox fields - returns an array of selected values; loop or index into it
  • Table fields - each row is an object in an array, so you’ll need a loop
  • Date fields - arrives in ISO format; format with formatDateTime()

Transforming Tallyfy data into CSV or HTML tables

Two data operations turn arrays into formatted output:

  • Create CSV Table - feed it an array of Tallyfy task details, get back a CSV string for Excel
  • Create HTML Table - same input, outputs an HTML table you can paste into an email

Tallyfy use case: Pull overdue tasks using the Tallyfy connector or API, then run them through Create HTML Table to email a formatted summary to stakeholders.

Putting it together - a daily task report

Scenario: Your team lead wants a daily email at 8 AM showing all their Tallyfy tasks due that day, formatted as an HTML table.

  1. Trigger: Recurrence. Set to run daily. (See understanding Power Automate basics for trigger setup.)

  2. Action: Get user profile (V2) (Office 365 Users). Optional - only needed if you want assignee details beyond email.

  3. Action: Tallyfy - “Get a member’s tasks” (Get_User_Tasks).

    • Set up your Tallyfy connection
    • user_id - the team lead’s Tallyfy user ID
    • q - optional search query to narrow results
    • This action doesn’t filter by date, so you’ll filter in the next step
  4. Control: “Filter array” (Data Operation).

    • From: the task list output from the previous step
    • Condition: use an expression to keep only tasks due today: @equals(formatDateTime(item()?['deadline'], 'yyyy-MM-dd'), formatDateTime(utcNow(), 'yyyy-MM-dd'))
  5. Action: Initialize variable.

    • Name: DailyTaskReportHTML
    • Type: String
    • Value: <table><tr><th>Task Name</th><th>Deadline</th></tr>
  6. Control: “Apply to each”.

    • Input: output from the “Filter array” step
  7. Inside “Apply to each”: Action - “Append to string variable”.

    • Name: DailyTaskReportHTML
    • Value: <tr><td>[Task Name]</td><td>[Deadline formatted with formatDateTime()]</td></tr>
  8. (Outside loop) Action: Append to string variable.

    • Add </table> to close the HTML table
  9. Action: Send an email (V2).

    • To: team lead’s email
    • Subject: Your Tallyfy Tasks Due Today
    • Body: switch to code view (</>) and insert DailyTaskReportHTML. Enable HTML rendering.

Tips for working with Tallyfy data

  • Initialize early. Put all variable initializations at the top of your flow. It’s easier to maintain.
  • Expect arrays everywhere. Table form fields? Arrays. Multiple tasks from the API? Arrays. You’ll reach for “Apply to each” often.
  • Debug with Compose. Can’t tell what your data looks like? Drop a “Compose” action and output your variable or Tallyfy data. It’s console.log for Power Automate.

Power Automate > Understanding Power Automate basics

Microsoft Power Automate connects Tallyfy with other business apps through actions like creating tasks and launching processes, while Tallyfy handles human-centric workflow management and Power Automate handles system integrations.

Power Automate > Advanced conditions and expressions in Power Automate

Power Automate’s advanced conditional techniques including expressions grouped logic and Switch controls enable sophisticated decision-making in Tallyfy workflows by handling complex data scenarios multiple conditions and edge cases that basic if-then logic cannot accommodate.

Power Automate > Using conditional logic in Power Automate

Power Automate’s conditional logic lets flows make decisions based on Tallyfy data - using IF-THEN structures, Switch controls, and nested conditions to route actions differently based on task statuses, form field values, and process conditions.

Middleware > Power Automate

Microsoft Power Automate serves as a no-code bridge between Tallyfy and your other business systems—including Office 365 and SharePoint and Dynamics—using a Premium connector with 13 actions and OAuth 2.0 authentication to automate data syncing and trigger Tallyfy processes from external events like emails or CRM updates.