# Generating and Emailing Summary Reports

**URL:** <https://community.glideapps.com/t/generating-and-emailing-summary-reports/468>\
**Category:** Feature Requests\
**Created:** [September 21, 2019, 1:13pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468 "2019-09-21T13:13:15Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bose54113](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/bose54113/32/323_2.png) [@bose54113](https://community.glideapps.com/u/bose54113)\
**Post date:** [September 21, 2019, 1:13pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/1 "2019-09-21T13:13:15Z")

</div>

Is there existing functionality or plans to be able to send summarized sheet data directly from the app?

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [September 21, 2019, 3:45pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/2 "2019-09-21T15:45:08Z")

</div>

This would be awesome for creating and sending invoices. It’s something I’d love to do, but haven’t quite figured out the best way to implement it yet.

---

<div class="post-metadata">

**Author:** ![david](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/david/32/62831_2.png) [@david](https://community.glideapps.com/u/david)\
**Post date:** [September 21, 2019, 5:39pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/3 "2019-09-21T17:39:42Z")

</div>

Can you explain specifically how your app would benefit from this?

---

<div class="post-metadata">

**Author:** ![bose54113](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/bose54113/32/323_2.png) [@bose54113](https://community.glideapps.com/u/bose54113)\
**Post date:** [September 21, 2019, 5:59pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/4 "2019-09-21T17:59:46Z")

</div>

I am recording specific issues that I distribute to specific managers. I would like to be able to send follow up with all unresolved issues.

---

<div class="post-metadata">

**Author:** ![JackVaughan](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jackvaughan/32/49023_2.png) [@JackVaughan](https://community.glideapps.com/u/JackVaughan)\
**Post date:** [September 23, 2019, 2:31pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/5 "2019-09-23T14:31:13Z")

</div>

Interesting, this sounds like a good suggestion. Thanks @bose54113

---

<div class="post-metadata">

**Author:** ![George\_B](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/george_b/32/534_2.png) [@George\_B](https://community.glideapps.com/u/George_B)\
**Post date:** [September 24, 2019, 9:20pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/6 "2019-09-24T21:20:57Z")

</div>

You could do it in a script pretty easily. You would mark all the specific issues with a manager, a date and time to follow up, and any other info. Then you would have a timed trigger that would run a script that would scan through the issues on the issues sheet in the app and compare the current date and time with the individual issues date and time. Accumulate them in an array and create an email to send. I’m sort of brainstorming but very doable in my opinion if you know a little scripting.

---

<div class="post-metadata">

**Author:** ![CJvdW](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cjvdw/32/16768_2.png) [@CJvdW](https://community.glideapps.com/u/CJvdW)\
**Post date:** [November 19, 2020, 11:33am UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/7 "2020-11-19T11:33:19Z")

</div>

Has there been any update on this? I created a Recruitment app for a client of ours so that the COO can track all the vacancies, pipeline, CVs submitted and interviews in realtime as my team updates the GSheet as and when we submit CVs, schedule interviews, etc.

We’ve made 20 placements with them now and I’d love a function to create a report based from the app, which could show total vacancies worked, Total CVs submitted, Total Interviews, etc. If this can be done, I could even include ROI measures for them in terms of what a fixed-fee recruitment solution has saved them compared to a traditional 15% or 20% recruitment agency fee…

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 19, 2020, 1:02pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/8 "2020-11-19T13:02:47Z")

</div>

> [@George\_B](#):
>
> You could do it in a script pretty easily. You would mark all the specific issues with a manager, a date and time to follow up, and any other info. Then you would have a timed trigger that would run a script that would scan through the issues on the issues sheet in the app and compare the current date and time with the individual issues date and time. Accumulate them in an array and create an email to send. I’m sort of brainstorming but very doable in my opinion if you know a little scripting.

Yes, I’ve done something very similar to this for a customer that wanted a daily report via email.  
Just setup a time-based trigger to fire once a day, gather the data, format it and send an email.

---

<div class="post-metadata">

**Author:** ![Darren\_Alderman](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_alderman/32/66660_2.png) [@Darren\_Alderman](https://community.glideapps.com/u/Darren_Alderman)\
**Post date:** [November 19, 2020, 1:06pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/9 "2020-11-19T13:06:26Z")

</div>

> [@Darren\_Murphy](#):
>
> Yes, I’ve done something very similar to this

Care to share the script? 😉

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 19, 2020, 1:15pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/10 "2020-11-19T13:15:45Z")

</div>

> [@Darren\_Alderman](#):
>
> Care to share the script?

hahaha, I should have known that somebody would ask 🤣

Okay, here is the (anonymised) script that tabulates the data and sends the email:

```
function send_mail_message(content) {
  var body = "<!DOCTPYE html><head></head><body><html><h2>XXXXX XXXXX Daily Report</h2>";
  
  body += "<table border=1><tr><th colspan=3>Revenue</th></tr>";
  body += "<tr><th>Date</th><th>Provider</th><th>Amount</th></tr>";
  for (var day in content.revenue) {
    content.revenue[day].forEach(function (provider) {
      body += "<tr><td>" + day + "</td>" + "<td>" + provider[0] + "</td><td>$" + provider[2].toFixed(2) + "</td></tr>";
    });
  }
  body += "</table>";
  body += "<table border=1>";
  body += "<tr><th colspan=4>Provider Hours</th></tr>";
  body += "<tr><th>Date</th><th>Provider</th><th>Clinic Hours</th><th>Patient Hours</th></tr>";
  for (var day in content.provider_hours) {
    content.provider_hours[day].forEach(function (provider) {
      body += "<tr><td>" + day + "</td>" + "<td>" + provider[0] + "</td><td>" + provider[2].toFixed(1) + "</td></td>" + provider[3].toFixed(1) + "</td></tr>";
    });
  }
  
  body += "</table></body></html>";
  MailApp.sendEmail({
    to: "xxxxx@xxxxxxx.com",
    subject: "XXXX XXXX Daily Report",
    htmlBody: body,
  });
}

```

It just generates a couple of very basic HTML formatted tables, and passes that to the MailApp service.  
There is a separate script that gathers the data, but no point me sharing that as it’s very specific to my customer, and wouldn’t be useful for anyone else.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [November 19, 2020, 1:38pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/11 "2020-11-19T13:38:08Z")

</div>

If in the future anyone needs to make a PDF that is downloadable, try PDFMonkey + Zapier.

---

<div class="post-metadata">

**Author:** ![Darren\_Alderman](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_alderman/32/66660_2.png) [@Darren\_Alderman](https://community.glideapps.com/u/Darren_Alderman)\
**Post date:** [November 19, 2020, 5:40pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/12 "2020-11-19T17:40:04Z")

</div>

Thanks! This is getting me close on my version of emailing a report.

> [@Darren\_Murphy](#):
>
> There is a separate script that gathers the data

Would your experience “gathering data” lend any pointers to my use case?

> [@Export CSV and email to user](https://community.glideapps.com/t/export-csv-and-email-to-user/7833/9):
>
> All - I am close on this and need idea / help! [Glide - Trying to Email a Filtered Sheet CSV — Watch Video [image]](https://www.loom.com/share/230e8525908a406bb1136fd67061ad36) Here is the workflow: User clicks a button which adds a row the export queue table. My App script checks for new rows that have not been sent. If an new export request is found, it sends the user an export of a Google Sheet. What I can’t figure out how to do is filter the Google Sheet by email address before sending. Does anyone have experience with this? 
> 
> > **Here is my script**
> >
> > funct…

---

<div class="post-metadata">

**Author:** ![Roldy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/roldy/32/36068_2.png) [@Roldy](https://community.glideapps.com/u/Roldy)\
**Post date:** [November 21, 2020, 4:17pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/13 "2020-11-21T16:17:52Z")

</div>

I’m just trying with this. Everything is fine but I am stranded to capture the URL of the generated PDF.  
I see that there is a possibility to set up a webhook, but I don’t know how to transport the data to the APP in Glide.  
Can you tell me something about it?

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [November 21, 2020, 4:34pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/14 "2020-11-21T16:34:38Z")

</div>

In Zapier, I setup the zap so that it pushes the JSON data to PDFMonkey, then after the PDF is generated, I have 2 options:

- Transfer it back to my Drive and generate the Drive URL.
- Let Zapier download it and send it to the user as an attachment.

---

<div class="post-metadata">

**Author:** ![Roldy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/roldy/32/36068_2.png) [@Roldy](https://community.glideapps.com/u/Roldy)\
**Post date:** [November 21, 2020, 5:18pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/15 "2020-11-21T17:18:26Z")

</div>

And it work!  
My approach was wrong, I was trying in every way to get inside the APP with a URL… but actually just add another Zapier action and write a new line in the google sheet with the URL of the generated document …  
It was “simple” … 🙂  
Thanks Thin, you gave me the right idea as always.

---

<div class="post-metadata">

**Author:** ![leandro](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/leandro/32/16780_2.png) [@leandro](https://community.glideapps.com/u/leandro)\
**Post date:** [November 21, 2020, 5:39pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/16 "2020-11-21T17:39:47Z")

</div>

Eu utilizo um complemento do google sheets chamado AUTOCRAT para preencher automaticamente os campos que eu determinei para o relatório dentro de um documento padrão e o configuro para enviar o e-mail com o documento sempre que for preenchido um form do google inserido dentro do glide

utilizo uma planilha secundaria para ser o documento padrão com a formula IMPORTRANGE para trazer os dados que eu quero como relatório da planilha do glide que será enviado como relatório

> **[Autocrat - Google Workspace Marketplace](https://workspace.google.com/marketplace/app/autocrat/539341275670)**

 ![ee.PNG](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/8/6836b967b1051ebd5dd594059480015201a0fe95.jpeg) ![ee2](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/1/91b5405a4e2ae5b5ee94ddbf10431b514a4fa904.png) ![ee3](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/a/eab96e08ef8bcfb24be53c4a463a0e788e9ac429.png) ![ee4](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/8/b/8ba8923b873845a4dc8e59779727c0631a1a24de.png) ![ee5](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/0/605beb6a967de9c8a2e9f103153b4bea547d21f3.png)  
 ![ee6](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/4/5/45bc276311cfc2bd95e21283f89ae7688cc21d87.png)

---

<div class="post-metadata">

**Author:** ![Roldy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/roldy/32/36068_2.png) [@Roldy](https://community.glideapps.com/u/Roldy)\
**Post date:** [November 21, 2020, 10:42pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/17 "2020-11-21T22:42:48Z")

</div>

Obrigado por sua contribuição. Eu vou me aprofundar.

---

<div class="post-metadata">

**Author:** ![Pablo\_Reyna](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/pablo_reyna/32/49850_2.png) [@Pablo\_Reyna](https://community.glideapps.com/u/Pablo_Reyna)\
**Post date:** [November 21, 2020, 11:09pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/18 "2020-11-21T23:09:10Z")

</div>

Hello @ThinhDinh , thank you for mentioning this solution to a problem I had. Best regards

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [November 22, 2020, 5:18am UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/19 "2020-11-22T05:18:09Z")

</div>

So you have solved it? Tell us if you need more help!

---

<div class="post-metadata">

**Author:** ![Pablo\_Reyna](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/pablo_reyna/32/49850_2.png) [@Pablo\_Reyna](https://community.glideapps.com/u/Pablo_Reyna)\
**Post date:** [November 23, 2020, 3:11pm UTC](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468/20 "2020-11-23T15:11:46Z")

</div>

Hello, I tell you that with this solution you gave (I have not tried it yet) I calculate it will solve the problem of showing my .pdf files embedded in the same application. At least that is how I could do it through this site: [https://4html.net/online-PDF-Viewer-864.html](https://4html.net/online-PDF-Viewer-864.html). But it happens that the links expire after a few days, leaving the view unusable. So I must ask you if with this solution that you provide, it fulfills the same function (to show an embedded pdf). Thanks for your comment. Greetings from Argentina.

[Next page](https://community.glideapps.com/t/generating-and-emailing-summary-reports/468.md?page=2)
