Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: hotglue (YC S21) – Easy user-facing SaaS integrations
144 points by hsyyid on July 22, 2021 | hide | past | favorite | 61 comments
Hi HN, we’re Hassan and David from hotglue (https://hotglue.xyz). We make it easier for developers to build user-facing integrations. In this context, an integration is a way for users to sync their data from their business apps, like Salesforce and Quickbooks, to another. For example, if I wanted to use an app like Mailchimp, I’d use their Salesforce integration to sync all my contacts over automatically.

We came across this problem while working for a startup that was struggling to scale the Salesforce integration they built in house. We needed a tool that would sync the customer data from Salesforce directly to our backend, but there were very few solutions available. After talking to other engineers who had dealt with user-facing integrations, we found many teams were frustrated by building their own integration solutions from scratch (not to mention maintaining them). This inspired us to build a tool that helps engineering teams add integrations to their products without taking on more tech debt.

Often people are surprised this isn’t solved yet – what about all the data movement tools like Meltano, Airbyte, Fivetran, Stitch, etc.? The difference here is that the integrations we're talking about are not back-end things like pulling your own Google Analytics data to BigQuery so that in-house analysts can work on it. Rather, it’s things like importing a user’s Quickbooks or Salesforce data into your product so that your product becomes more useful to them. That’s what we mean by “user-facing”.

There are a few reasons why building such integrations in-house is tricky. SaaS platforms and their APIs vary widely—while products like Stripe offer stellar APIs and resources, other platforms run on legacy software requiring more involved integrations (such as closed-access APIs or legacy SOAP/XML systems). Second, reliability while syncing at scale can be a challenging task when onboarding users with higher volumes of data – no engineer wants to spend their weekend debugging why their infra crapped out. Lastly, building auth flows and handling API tokens can be cumbersome: catching permission errors and expired tokens can take hours of debugging when dealing with the more "enterprisey" business products.

In short: it’s a pain to have to build one of these for several different apps, and not the sort of thing anybody wants to specialize in. Projects to build these usually end up on the back burner, frustrating customers who expect your product to integrate cleanly with all their other business apps.

We make it easier to build user-facing integrations by providing a scalable framework that minimizes maintenance. Our integrations are built on open source Singer.io connectors that eliminate the need for you to directly interface with APIs (saving you from dealing with breaking API changes, rate limits, authorization, and more). We provide a catalog of all the data each source provides and allow you to pick the data you need without having to grok long API docs. This also means you aren't locked in to our library of connectors – you can write your own connectors in Python. From there, we orchestrate syncing data for you. Just set a schedule, or kick off a job via our API – we provide the infrastructure, so you don't need to worry about building a data pipeline from scratch.

Although we are minimizing the dev work to build an integration, we are *not* a no-code solution. In our experience, no-code tools can be powerful for simple use cases, but are often too restrictive to handle custom logic. hotglue features a Python transformation layer to enable you to manipulate the raw data from third-party apps before it gets to your backend, cherry-pick the data you need, and implement more complex logic. For example, you can join multiple tables, filter out data based on a complex expression, make API requests, write custom logic for specific users, and more.

We are super excited to share hotglue with the HN community. We’ve created a quick demo for you to see what an integration looks like:

Video: https://youtu.be/ZzSsL66fSUE Interactive demo: https://bit.ly/3rsLR0G

We’d really appreciate hearing your thoughts, experiences, ideas and feedback. Your feedback is vital, as it is our dream to make hotglue the standard for building user-facing integrations. Also, in case you’re thinking of adding new integrations to your product, we would love to help – sign up for a free trial at https://hotglue.xyz (we have a startup plan)

Thanks for reading this far, and happy Thursday! :)

Differing social circles and awareness may make this concern irrelevant, but you should be aware that "hotglue" is a genre of pornography. It may never come up but don't be blindsided if it does.

My first thought seeing the name was "Neat. Glue APIs together.", but now I know this other connotation, I'ma need some "brain bleach". Sometimes the Internet needs an "Un-See" button. ;)

Hotglue always reminded me of the glue gun which is used in to stick simple circuitry around in hobby projects. Wow. This is new...

Congratulations, Hassan! It’s great to see more tools adopting the open source Singer standard for connectors, and at Meltano we're very grateful for all the taps and targets you maintain: https://hub.meltano.com/singer/maintainers/hotgluexyz

Thanks! Super excited to be a part of the Meltano and Singer communities as they grow. Excited for what you guys are building.

Do you provide any sort of debugging logs for troubleshooting integration/workflow failures while ensuring those logs are sanitized of user secrets? Is there a straightforward way to report integration failures for triage by your team in the event something changed unexpectedly (Silent API changes happen more often than you'd think)?

Looks awesome!

Yes we do! The way it works is we run isolated containers for each sync job, and then monitor the process for errors. There's a few stages it goes through (syncing the data, running any transformations, and then exporting the final output). At each of these stages sanitized logs can be viewed in real time from the hotglue panel, so developers can debug what went wrong (whether it's an expired OAuth/API key, or a breaking API change). If there is a case where an integration is failing, it can be reported to our team directly in the hotglue panel for triage.


Brilliant, thanks for the reply.

Hey, I might be in the market for this although what I'm trying to achieve is to push data from my app to partners (Quickbooks, Sage) for invoicing. Am I understanding correctly that you currently only have integrations that pull data from an external tool into my app? Thanks

Actually, we support pushing data as well! We have a few users with a similar use case, who push journal entries and invoices from their apps to Quickbooks/Sage/Xero, etc.

Only thing is I would need my end users to log into quickbooks for my app to work is that is what going on here: End user logs in?

I will be using this if this is the case and we can make sales, and refund receipts and add links to invoices.

How much data can we update or pull. Quickbooks has a lot of quarks.

We have pretty good coverage on Quickbooks, but if there's something specific you'd want to push or pull that we don't support already, it can be added pretty easily.

As mentioned in our post, all of our connectors are open source and built on Python, so our engineers regularly add support for new endpoints as users request them.

(I am the other founder of hotglue) yes, all the end user does is just log in.

1. How do you deal with late arriving events if a python transformation needs to join data across two different sources?

2. Is hotglue able to handle large backfill jobs or jobs with arbitrary input data sets?

Great question! Instead of dealing with race conditions like this, we encourage users to use our webhooks to create a workflow.

For example, if I wanted to sync my user's sales data and then relate it to the invoices from the accounting data, I could kick off a sync for the sales, and save that data into what we call a snapshot. From there, I would get a webhook when the sales data was ready, at which point I could start the sync of the accounting data.

Yes, we can handle large backfill jobs (ie. all the data up to the present), and then we incrementally sync new data.

Hopefully that answers your questions – happy to clarify.

Are there data privacy concerns here ?. As a user im making a decision to share my data with a specific application but now a third party is actually in between us.

Good question. Our tool falls into the category of third party data processors (in GDPR speak). That being said, we take data privacy pretty seriously, so aside from taking security measures and obtaining relevant certifications, we ensure users can revoke access to their data and even delete all their data if needed.

Our goal here is that users can trust their data is being handled correctly because we sit in the middle – much in the way Plaid handles personal financial data for specific applications and "sits in the middle." Although using something like Plaid introduces a potential for privacy issues, they likely can achieve a higher level of security and maintain data privacy better than a single application could.

I used to work for a company which provided a service to state governments which was funded by a federal program. Long story short there are a lot of crazy top-down requirements ranging from integrating with a preferred vendor, which was barely a start-up amid a market of well established (better) alternatives, to the coupe-de-grace which read, "unhindered access to all production data". This service seems particularly useful to companies struggling to cope with government requirements of that nature, particularly GDPR.

Yup, that's definitely a great target for a product like ours. Like you said, especially for a start-up in a market of more well established products, it's hard to juggle product growth with scaling up integrations (and all the work that goes into it: from security to API changes).

Timing couldn't be better for us! A lot of our customers are asking about a SFDC integration, but it's been hard for us to pull trigger on actually building it.

This seems like it could drastically cut down the build time.

Fantastic! Happy to discuss with you further, feel free to make an account and try the Salesforce integration :)

shameless plug - look at syncari

Thanks! Will take a look as well!

At $work we use Tray to sync salesforce and some other CRMs to our database.

Tray advertises a no-code solution and it has to be the most brittle part of our entire platform. It’s common for their API to time out for even the most basic things, like listing which integrations a customer has setup (which is never larger than a handful).

Excited to see this isn’t “no-code”

Interesting – would love to hear more about what your experience using Tray has been like. Glad to hear that going against that "no-code" trend is something that you agree with, as it definitely gives more flexibility to developers in how their integrations work.


It's really difficult to get people off the no-code train...

In the demo, you don't need the user to generate and paste a GitHub API key, because you can do that after getting access via OAuth. Will that be possible for all other taps, e.g. SendGrid, Zendesk, Close.com?

That's correct. We did that with GitHub as a short example for HN, but most sources are configured via OAuth (as long as they support it) – including the ones you mentioned.

How did you get access to Close.com OAuth? I don’t see it in their API docs.

Congrats on the launch. HubSpot has an API for their data, it’s a bit messy (has 3 different versions and some parts are at v1, some at v2, etc). Say I want to develop an app to help a HubSpot user understand their data better. Can hotglue be used by a dev with no knowledge of this API, to pull out all of the HubSpot data of a specific client, including historical events (such as deal stages, email interactions, site visits, form submissions)?

Yup! All the developer would need to do is select which objects they are trying to pull in hotglue (through our field map editor) and they would be good to go.

Hey congrats on launching– Wanted to drop a note from someone who has been burned: avoid .xyz domains like the plague. They can revoke your control of the domain at any time if you end up on a spamhaus (etc.) list. This happened to me even though I was only using my .xyz for a non-prod env shared with a customer. One day control of the domain was just taken by the .xyz org and I had no recourse other than generic ticket submission.

Hi! This is Ron from .xyz - I wanted to chime in and welcome you to please reach out to us so that we can figure out what happened with your domain. Please be assured that the XYZ Anti-Abuse Team does not suspend domains unless they are in violation of the Anti-Abuse Policy, and domains that are flagged by blacklists are investigated and confirmed for abusive activity. The .xyz domain extension is treated just like any other domain extension. Email deliverability issues are most often caused by the email content or the setup, i.e. using free email services on shared hosting, low mailbox usage, using a shared IP to send email, and violations of the CAN-SPAM Act. If you are still having deliverability issues, please contact us at hello@gen.xyz so that we can assist you in correcting the issue. We have been featuring successful businesses and prominent individuals using .xyz domains every Wednesday since 2014. Check them all out here: https://gen.xyz/ww.

Wow, I had no idea. We're planning to switch domains soon [https://hotglue.io] – thanks for the heads up.

I'd be wary of .io too:


I launched a service on .io in 2012 and moved away to a less-good .com in 2016 - apart from the political issues, its registry services feel & look very ancient. I almost lost the original domain through a forgotten password!

Oof... thanks for the advice.

Argh, this is news to me. Guess I should consider a .com as well.

Just another data point: I signed up and received your confirmation email in my spam folder (gmail)

Ah, thanks for letting me know!

This is also true of many TLDs that correspond to localities. For example it is a TOS violation to disparage Las Vegas on a .vegas domain. Not all TLDs are created equal.

I second to that advice. Im running mailwip.com and I saw a lot of spam from xyz domains

the spam haultd rated xyz quite high on soam so stay away from it

Hi! This is Ron from .xyz - I wanted to shed some light on the subject. XYZ takes abuse very seriously and we do not allow spam, phishing, the distribution of malware, or any other type of illegal activities in our namespaces. We actively intervene when any of the above activities have been confirmed by our Anti-Abuse Team. As a result, the .xyz TLD has a lower badness index score than most legacy TLDs as reported by Spamhaus.org. If you are encountering spam from .xyz domains, please forward the emails to xyz_abuse@gen.xyz or open a ticket at gen.xyz/abuse to have this investigated by the XYZ Anti-Abuse Team.

And the next problem will be that many mail servers give you a higher spam rating for .xyz domains because it‘s mostly used by spammers.

Ron from .xyz here and I’d love to clear the air - some outdated mail servers irresponsibly block all new TLDs - even though their junk mail filters are proven to work and should work on content that is junk - no matter the TLD. The .xyz TLD has a lower “badness index” score than most legacy TLDs as reported by Spamhaus.org. Email deliverability issues are most often caused by the domain reputation, email content, or the setup, i.e. using free email services on shared hosting, low mailbox usage, using a shared IP to send email, and violations of the CAN-SPAM Act.

We have made it our mission to provide affordable domain name options for the many entrepreneurs, small businesses, and individuals who need or want more options without extreme limitations, and they deserve to be treated the same as those using legacy TLDs. Our Anti-Abuse team successfully combats abuse with the assistance of our numerous cybersecurity partners and contributions from individuals in the community like yourself. This plus providing education on false information helps protect the reputation of all our amazing end users like HotGlue in the .xyz community.

We feature many of these successful businesses and prominent individuals using .xyz domains every Wednesday since 2014. Check them all out here: https://gen.xyz/ww.

Congrats on the launch! It looks like a useful product.

Your low end pricing (i.e. startups & starter packages) seems expensive. For sure it might be worth the value but I feel like it may create some friction for new product builders. What do you think about that? Do you have any plans to re-evaluate or are you pretty set on that for now?

We want to be helpful for all teams at any stage - so we are always willing to reevaluate our pricing to be accurate to the value we provide.

It may seem expensive, but with the products we serve, typically a few users for our customer would cover the cost of hotglue.

Can I use this to send information from my app to an App like Quickbooks?

Yup! Several of our users send things like journal entries and invoices directly to Quickbooks/Xero/Intacct, and more.

How does it work with custom objects that customers have inside Salesforce? Each end-user can select which custom objects they want like to sync?

Yup! That is one possibility. We offer an API so you can query all the available objects inside a user's Salesforce account, and from there you can have the user select what specific objects are relevant, and those will be pulled through.

Nice. Built on Python. That alone is an instant win for me. Nice usage of Jupyter as well. (Still reading through the docs.)

Appreciate the feedback, glad to hear our approach resonates with you :)

Still reading the docs, but everything I've read so far, it looks like some mighty interesting code for sure. I'm glad to see I'm not the only person who's seen all the many APIs and integration endpoints and thought that something similar to this needs to exist.

Doesn't FiveTran provide an API service which one can use to build something like this?

Sort of, yes. Fivetran has a product called Powered by Fivetran which is an API on top of Fivetran that lets users connect their apps and push to a warehouse managed by you. For example, you could ask users to connect their Salesforce via Fivetran and the data would end up in a BigQuery dataset you own.

Although Powered by Fivetran could be used for the use case we're building towards, it only solves the "getting data out of Salesforce/Quickbooks/etc" part of the problem. Often the harder part is actually extracting the relevant data and working with it after getting it from an API.

Especially for accounting, how does your product compare to codat.io?

Great question!

TL;DR: codat.io is more like Plaid in that they've come up with a single schema for everyone else to build against. hotglue allows you to come up with a schema that works for your product, and gives you the tools to standardize data the way you want it. Because of this differentiation, hotglue is better suited to capture more from each API and can even handle custom data.

I think the easiest way to explain the difference is that codat.io has more closely followed Plaid's model. They standardize all the data upfront to a schema they have come up with, and then give you access to an API to query it.

Although that model works well for simple things like bank transactions where the fields are relatively uniform across different platforms, in something like accounting the fields can be quite different. For example, a journal entry in Quickbooks can have much more data linked to it than what's called a "manual journal entry" in Xero. Because of this, hotglue is designed to give you full coverage of all the data within each platform, rather than limiting you to the data that's available across each one. This becomes even more relevant when users have stored custom data inside of these platforms, which is possible in platforms like Salesforce.

As someone who browses 4chan from time to time, I found the name a bit confusing. Just quick search it on Urban Dictionary.

Yeah...but at the same time, it's not like normal people are going to know about it, certainly nobody would bring it up in a corporate environment or risk outing themselves as some kind of weirdo, so it's probably fine? It's not their fault that random forums prescribe shock value to regular words.

Congrats on the launch, absolutely love the name!

Thanks, glad to hear that!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact