Weekly Report Summaries with AI Actions in Pipelines
So far in this series, we’ve explored how AI Actions can extract key details from emails and analyze complex documents like 10-K filings. Today, we’ll make it even more practical — automating weekly reporting. Many teams rely on weekly Quickbase reports to track key metrics, project updates, or customer issues. With AI Actions, you can now generate a concise AI-written summary of those reports every week — automatically. No manual copy-pasting, no rewriting dashboards, no time wasted on reading reports — just clear insights, delivered on schedule. Why Automate Weekly Summaries? Quickbase reports are great at presenting data — but stakeholders often want a digestible narrative: What changed this week? What trends are emerging? What should we focus on next? By scheduling a Pipeline, it can automatically: Pull a Quickbase report each week. Feed it to AI Actions along with some instructions. Store or email the AI’s analysis to your team. The Pipeline Flow Here’s how this works step by step: Schedule: A scheduled pipeline runs every Monday morning. Quickbase Actions: The pipeline fetches the latest report data (e.g., project updates, tickets, or KPIs). It stores it as a CSV in Quickbase. AI Action: The data is analyzed and summarized by AI in plain English. Quickbase or Email Output: The summary is emailed to key stakeholders. You can also watch the quick demo here: Pipeline YAML: # Report Summary (CSV) # # Account slugs: # - quickbase[REDACTED]: Realm Default Account <none> # - microsoft-outlook[REDACTED]: Georgi Peev (...) # <none> --- - META: name: Report Summary (CSV) crontab: 0 8 * * 1 crontab_timezone: America/New_York enabled: false - ACTION bucket pipeline_row define -> a: inputs-meta: date_format: '%Y-%m-%d' datetime_format: '%Y-%m-%dT%H:%M:%SZ' header_row: Project ID, Project Name, Status, Priority, Owner, Department, Region, Start Date, End Date, Budget, Description, Customer Name, Project Manager, Team Size, Completion, Risk Level, Last Updated, Client Satisfaction, Is Billable, Project Type, Revenue ($), Expense ($), Profit Margin (%) header_separator: ',' type_of_budget: number type_of_client_satisfaction: number type_of_completion: number type_of_customer_name: string type_of_department: string type_of_description: string type_of_end_date: date type_of_expense: number type_of_is_billable: boolean type_of_last_updated: date type_of_owner: string type_of_priority: string type_of_profit_margin: number type_of_project_id: string type_of_project_manager: string type_of_project_name: string type_of_project_type: string type_of_region: string type_of_revenue: number type_of_risk_level: string type_of_start_date: date type_of_status: string type_of_team_size: number name: Define table for report - QUERY quickbase[REDACTED] record search -> b: FILTERS: - AND: - status is "In Progress" <in progress=""> inputs-meta: export_fields: '"Budget ($), Client Satisfaction, Completion %, Customer Name, Department, Description, End Date, Expense ($), Is Billable, Last Updated, Owner, Priority, Profit Margin (%), Project ID, Project Manager, Project Name, Project Type, Region, Revenue ($), Risk Level, Start Date, Status, Team Size" <15, 23, 20, 17, 11, 16, 14, 27, 24, 22, 10, 9, 28, 6, 18, 7, 25, 12, 26, 21, 13, 8, 19>' table: '"AI Actions - Georgi Peev: Report Summary - Projects" <bvjypq5b3>' name: Fetch report records - b<>LOOP: - DO: - a<>ACTION bucket pipeline_row create -> c: inputs: budget: '{{b.budget}}' client_satisfaction: '{{b.client_satisfaction}}' completion: '{{b.completion}}' customer_name: '{{b.customer_name}}' department: '{{b.department}}' description: '{{b.description}}' end_date: '{{b.end_date}}' expense: '{{b.expense}}' is_billable: '{{b.is_billable}}' last_updated: '{{b.last_updated}}' owner: '{{b.owner}}' priority: '{{b.priority}}' profit_margin: '{{b.profit_margin}}' project_id: '{{b.project_id}}' project_manager: '{{b.project_manager}}' project_name: '{{b.project_name}}' project_type: '{{b.project_type}}' region: '{{b.region}}' revenue: '{{b.revenue}}' risk_level: '{{b.risk_level}}' start_date: '{{b.start_date}}' status: '{{b.status}}' team_size: '{{b.team_size}}' name: Add record to table note: match the column names from the query step - a<>ACTION bucket pipeline_row download_csv -> d: {} - ACTION quickbase[REDACTED] record create -> e: inputs-meta: table: '"AI Actions - Georgi Peev: Report Summary - CSV files" <bvjy9kdu7>' name: Create record for file - e<>ACTION quickbase attachment upload -> f: inputs: field: '6' name: '{{d.file_name}}' url: '{{d.download_url}}' name: Upload report file - LOOKUP quickbase[REDACTED] record look_up -> g: inputs-meta: table: '"AI Actions - Georgi Peev: Report Summary - CSV files" <bvjy9kdu7>' export_fields: '"file" <6>' inputs: id: '{{e.id}}' name: Fetch uploaded file - ACTION qb-ai-actions custom_action create -> h: inputs: file_url: '{{g.file.file_transfer_handle}}' system_message: "You will receive a CSV file representing a Quickbase report.\ \ Your job is to analyze the report and produce an HTML-ready email containing\ \ the analysis. Output must be only valid HTML suitable for sending as the\ \ body of an email (no external CSS, no scripts, inline styles only). \nThe\ \ report contains currently active projects.\nBased on trends and dependencies:\n\ - Flag the top 10 projects that are at risk the most. Provide some details\ \ like project id, project name, PM and other info you find useful.\n- Provide\ \ an explanation on why you've flagged each one\n- Give a suggested action\ \ item for each one" user_message: file attached below name: Summarize - ACTION microsoft-outlook[REDACTED] email send_email -> i: inputs: body: '{{h.output_text}}' subject: Weekly report - at risk projects to_addresses: ... ...</bvjy9kdu7></bvjy9kdu7></bvjypq5b3></in></none></none> The AI Prompt You can tailor the AI persona to your audience. Here’s the one from the example that works well for leadership updates: You will receive a CSV file representing a Quickbase report. Your job is to analyze the report and produce an HTML-ready email containing the analysis. Output must be only valid HTML suitable for sending as the body of an email (no external CSS, no scripts, inline styles only). The report contains currently active projects. Based on trends and dependencies: - Flag the top 10 projects that are at risk the most. Provide some details like project id, project name, PM and other info you find useful. - Provide an explanation on why you've flagged each one - Give a suggested action item for each one Why This Matters This example demonstrates how AI Actions can automate recurring intelligence from Quickbase data — not just static documents or ad-hoc inputs. By scheduling weekly summaries, you’re turning your operational data into living insights your teams can actually use. You can take this further: Summarize multiple reports in one flow Compare current vs. previous week automatically Send or record summaries via other Pipelines channels Conclusion AI Actions continues to expand what’s possible inside Pipelines. From analyzing emails and PDFs to now scheduling recurring AI insights, Quickbase users can close the gap between raw data and decision-ready information. Start small: schedule your first AI-powered summary this week — and let your reports start writing themselves!256Views0likes0CommentsNew dynamic filter plugin
This plugin allows you to make really dynamic filters, in the same window you can select the table, the fields you want to show and the fields you want to filter. It is not an external plugin, It must be included in one of your QuickBase APP. ------------------------------ Marcelo Benavides ------------------------------69Views0likes2CommentsAlternative to Image on Load : inline javascript Support ended
I have used inline javascript in many places in my Apps. Since now the support for inline javascript is ending. Can someone please help with the alternatives to the features used. I have used image on Load at most places, Along with Image on Load error. https://community.quickbase.com/blogs/graham-leto2/2021/02/03/upcoming-changes-to-javascript-in-quickbase ------------------------------ Abhishek Choudhary ------------------------------93Views0likes1CommentRegarding changes to Javascript in Quickbase
Hi Everyone, I am facing issue in injecting my custom code page. By reading all the docs, I came across that in order to inject your custom code you have to make a field and insert your custom page as follows : ""&[iol] & "Formula_Save_Proposal.js" & [/iol]&"". Earlier it was working fine and was getting saved , but now when i am trying to save this field it is giving error as shown in image attached for your reference.Could you please help me to find a solution for same. ------------------------------ Adis Kljajic ------------------------------118Views0likes1Comment