This is a request to SaaS companies who allow their clients to develop custom integrations using an open API and/or webhooks.
Offering a way for developers to integrate with your platform comes with a new responsibility. Your application/platform now has a new type of user, and you need to keep them in mind as you would any new persona in your product design.
One particular area of this developer experience that makes or breaks this experience for me is having a separate development environment.
Test environments, sometimes called staging environments, allow your clients (me!) to test API integrations against live URLs in an account that won’t affect production data, that might be configured with new untested code, that won’t charge real credit cards, and that may not trigger unwanted effects in other live systems.
There are a few vendors I’ve worked with who’s answer has been “you’ll need another license/account”. While this may be a feasible solution for large enterprises, small companies or solo developers can’t afford to pay a full second license of some pieces of software. These costs can get into thousands of dollars a month. If you’re going to charge for this feature, it should be a fairly minimal add-on charge, in my opinion.
Some companies to this extremely well – Stripe, Hubspot, and Chargebee are three I work with on a regular basis. They allow me to test client on-boarding processes for Actionable’s SaaS, without triggering other workflows within the company, without charging real credit cards, etc. It encourages developers trying out new features of an API. This develops trust that systems will work in production.
Not having these test environments incurs additional cost, or even worse, encourages “cowboy coding” by having an integration that can only be tested in production.
So while you, SaaS company, may see testing needs as being a way to bring in more revenue in licenses, I think what you’re really doing is delivering a sub-par experience for your developer user persona.
Fellow developers… when choosing a SaaS to integrate with, is a dedicated testing environment (or separate API keys, etc.) a deciding factor when comparing vendors?