Best Of
Re: Domo Community Declining - Oliver to Blame?
Hey @Data_Devon, thanks for sharing your thoughts and for caring enough about this Community to start this discussion. It's been truly wonderful to see your progress, and I love hearing that the community has been an integral part of your growth.
You’re absolutely right that Oliver has impacted questions on the forum. Our goal is to help people get answers quicker and easier and Oliver is just a tool to help us do that. The downside is, as you pointed out, we see less people starting conversations.
One thing to keep in mind is that the Community is more than just a place for Q&A. It’s a space for Domo users to collaborate, share best practices, and build meaningful connections. That’s something Oliver can’t replace.
All that being said, if there is a way we can make the Community feel more engaging and useful, we would love to hear ideas. We want this space to serve users in whatever way makes the most sense.
Thanks again for raising this concern. People like you make our Community thrive.
Re: Domo Community Declining - Oliver to Blame?
I had nothing.
Except tacos. Tacos are the answer to most things. But I'm not sure our members will click "Love this answer. Mark it awesome!"
The poem — just the observation that a quiet forum isn’t necessarily an empty one.
☃️December 2025 Community Forum Recap🎁
Howdy Domo Community!
Although we’ve been in the new year for 13 days already, it’s still worth taking time to revisit last month's Community highlights. As always, we appreciate everyone’s dedication to this community. Can’t wait to see what 2026 brings!
Announcements
- ♣️♥️ Bi-Weekly ACE webinars ♦️♠️
- January 15 @ 10:00am MT- ️Automate Your Domo Environment Audit and Cleanup
- January 29 @ 10:00am MT- Topic TBA
- Domopalooza- Early Bird Discount Ending Soon
Most Active Discussions in January
These conversations sparked the most engagement—be sure to check them out and chime in with a reaction or comment:
- Pivot Woes - Losing Rows causes total to change
- Is it possible to update specific rows in a Domo Dataset via API?
- Top N Filter Not Working as Expected in Multi-Series (Grouped) Bar Chart
Thank you @Data_Devon, @Martin_deLeón, and @Pugal for asking such insightful questions! 50+ views on all these posts. Shout out to @ArborRose, @MarkSnodgrass, and @GrantSmith for answering their questions!
Leaderboard Top 3
Finishing out the year strong, ArborRose has claimed his 8th consecutive month as #1 in the Community Forum. We’ll see if he can keep his crown, cause a sleeping giant has just awakened with GrantSmith making an appearance on the leader board. DavidChurchman is also staking his claim as a Community legend in 3rd place. Thank you for everything you are doing!
- @ArborRose: 299 points
- @GrantSmith: 107 points
- @DavidChurchman: 66 points
Top 3 Ideas
These three ideas got the most upvotes. Give them an upvote or comment if you'd like to see them in the product too.
- ETL Development Assistant
- Views created using Cloud Amplifier Datasets do not display the correct last run date and # of rows
- Magic ETL Search and Replace
Thank you for helping shape the future of Domo @Dalton, @NagaChandraBala, and @ArborRose.
Community Member of the Month
As December comes to an end and the new year begins, it’s important to remember the “day-ones” who have been here since the beginning. Grant Smith, who has an amazing first name by the way, has been a member of the Community for seven years. If you’ve been here for any length of time, you know just how important Grant is to the community. He has tirelessly answered thousands of questions over the years and has 21.2k cumulative points in the Forum. He is a shining example of what it means to be a member of the Domo Community: someone who uses their knowledge as a shared resource and leaves people better than when they found them. I’m sure I speak for everyone in the Community when I say— Thank you, Grant Smith.
If @GrantSmith has helped you find an answer to your question, help me thank and congratulate him in the comments below!
Re: Filter Out Incomplete Months
I greatly appreciate this question! It helped me identify the real issue. A beast mode with an "ELSE 0" was creating a data point when it should have been null 🤦. This community is awesome, and hopefully forgiving 😂. This, combined with Sean's Beast Mode clarification, got it across the line!
Jessary
Re: Filter Out Incomplete Months
Are the data values 0 or are the NULL? If you mark them as NULL / Blank it should prevent it from showing on the graph.
Re: 'SendEmail' in Domo Workflows
Here it is attached, because that formatting got weird.
Re: 'SendEmail' in Domo Workflows
@KatieLuce - sorry I missed this over the holiday break. Here is the code that I use. If you have any questions, please let me know.
CODE BELOW
import codeengine
import json
import smtplib
import requests
from email.message import EmailMessage
def send_email(account, to_recipients, cc_recipients=None, subjectLine=None, mailBody=None, domo_file_id=None, domo_access_token_account=None):
"""
Send an email to multiple recipients.
Parameters:
- account: account object with SMTP credentials
- to_recipients: string of comma-separated email addresses for TO field
- cc_recipients: string of comma-separated email addresses for CC field (optional)
- subjectLine: email subject
- mailBody: html content of the email
- domo_file_id: (optional) file id to attach PDF from Domo
- domo_access_token_account: account object with Domo access token
"""
smtp_server = 'smtp.office365.com'
smtp_port = 587
# Get Domo Access Token if needed
domo_access_token = None
if domo_access_token_account:
domo_access_token_creds = codeengine.get_account(domo_access_token_account["id"])
domo_access_token = domo_access_token_creds['properties']['domoAccessToken']
# Get SMTP account credentials
accountCreds = codeengine.get_account(account["id"])
#print(accountCreds)
creds = json.loads(accountCreds["properties"]["credentials"])
username = creds["username"]
password = creds["password"]
# Convert comma-separated strings to lists and strip spaces
def parse_recipients(recipients_str):
if not recipients_str:
return []
return [email.strip() for email in recipients_str.split(",") if email.strip()]
to_list = parse_recipients(to_recipients)
cc_list = parse_recipients(cc_recipients)
# Prepare EmailMessage
msg = EmailMessage()
msg['Subject'] = subjectLine if subjectLine else ""
msg['From'] = username
msg['To'] = ", ".join(to_list)
if cc_list:
msg['Cc'] = ", ".join(cc_list)
# Set HTML content
msg.set_content(f"""\
# Attach PDF if requested
if domo_file_id and domo_access_token:
try:
url = f"https://domo.domo.com/api/data/v1/data-files/{domo_file_id}"
headers = {'content-type': 'application/pdf', "X-Domo-Developer-Token": domo_access_token}
response = requests.get(url, headers=headers)
if response.status_code == 200:
pdf_bytes = response.content
print("PDF bytes retrieved successfully")
filename = "ACEInternalProcess.pdf"
maintype = "application"
subtype = "pdf"
msg.add_attachment(pdf_bytes, maintype=maintype, subtype=subtype, filename=filename)
print(f"Attached file {filename}.")
else:
print(f"Failed to fetch PDF file. Status Code: {response.status_code}")
except Exception as e:
print(f"Failed to download or attach file from Domo: {e}")
# Combine TO and CC recipients for sending
all_recipients = to_list + cc_list
# Send the email
try:
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(username, password)
server.send_message(msg, from_addr=username, to_addrs=all_recipients)
print("Email sent successfully!")
except Exception as e:
print(f"Failed to send email: {e}")
<html>
<body>
<p>{mailBody}</p>
</body>
</html>
""", subtype='html')
CODE END
Please make sure you change the URL on line 67. This is for Office 365. If you create an abstract credential store account with the blob being an object of key value pairs for username and password (example below).
{"username": "yourEmailAddress",
"password": "yourEmailPassword"}
Re: Add scroll to HTML Table
@BenSchein : Kindly help us with this request on priority please. Or we need to get the color coding in Mega Table. Your kind & urgent assistance would be much appriciated.
Regards,
Tejal Govila
Re: Remove row from dataset
Adding to what Jason has stated…
Domo does not support deleting an individual row directly from an existing dataset, but you can effectively remove a bad row by republishing the dataset without it. A common approach is to use Python to read the current dataset via the Domo APIs, drop the offending row (for example, filtering out a row where a column equals its own header name or is mostly null), and then write the cleaned data back using a full replace. Alternatively, you can create a Magic ETL that filters out the problematic row and have downstream ETLs and cards point to the ETL output dataset instead. In both cases, the row isn’t deleted in place; the dataset is replaced or superseded with a version that no longer contains it.



