<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>SaaSCron: SaaS Operations</title>
<link>https://saascron.com/category/saas-operations/</link>
<description>Running a SaaS stack: SaaS management platforms, spend control, renewals, governance and automation.</description>
<language>en-us</language>
<lastBuildDate>Thu, 29 Oct 2026 16:00:00 GMT</lastBuildDate>
<atom:link href="https://saascron.com/category/saas-operations/rss.xml" rel="self" type="application/rss+xml"/>
<item><title>SaaS for MSPs: managing client tenants, security and backup</title><link>https://saascron.com/msp-saas/</link><guid isPermaLink="true">https://saascron.com/msp-saas/</guid><pubDate>Thu, 29 Oct 2026 16:00:00 GMT</pubDate><dc:creator>Ricardo Machado</dc:creator><category>SaaS Operations</category><category>Msp</category><category>Microsoft 365</category><category>Backup</category><category>Access management</category><description>How managed service providers run client SaaS: least-privilege admin access, multi-tenant consoles, Microsoft 365 and Google Workspace backup, and billing.</description><content:encoded>&lt;p&gt;You run IT for twenty small businesses, or you are about to hire a firm that does. Each client has its own Microsoft 365 or Google Workspace, its own admins, and its own idea of who is responsible when files disappear. You need a way to manage all of them without holding a master key to everything, and a clear answer on backup.&lt;/p&gt;
&lt;p&gt;A managed service provider (MSP) is a company paid to run another company’s IT. With SaaS, the vendor runs the software, as explained in &lt;a href=&quot;https://saascron.com/what-is-saas/&quot;&gt;What is SaaS?&lt;/a&gt;. Configuration, access, security settings and backup still need an owner, and for many small businesses that owner is an MSP.&lt;/p&gt;
&lt;h2 id=&quot;msp-work-in-plain-terms&quot;&gt;MSP work in plain terms&lt;/h2&gt;
&lt;p&gt;Think of a property manager who looks after fifty apartments. A careful one holds a separate key for each apartment, only for the rooms it services, and logs every visit. A careless one carries one master key to the whole building. Both can fix a leaking tap. Only one of them is a disaster if the keys are stolen.&lt;/p&gt;
&lt;p&gt;Two terms do most of the work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tenant:&lt;/strong&gt; one client’s instance of a SaaS service, with its own users, settings and data. In Microsoft 365, each client organization is a tenant.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delegated administration:&lt;/strong&gt; admin rights that a client grants to a partner, so the partner can manage the client’s tenant without a user account inside it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;access-separate-limited-keys-per-client&quot;&gt;Access: separate, limited keys per client&lt;/h2&gt;
&lt;p&gt;Microsoft’s answer to the master-key problem is granular delegated admin privileges (GDAP). Microsoft describes it as least-privileged access that is “granular and time-bound”, and customers “must explicitly grant” it. Partners who manage Azure no longer receive the Global Admin role on a customer’s tenant by default. Roles are assigned through security groups, with a limit of 100 security groups per customer.&lt;/p&gt;
&lt;p&gt;In practice, that means a help-desk technician gets a role that can reset passwords, and only the senior engineer gets a role that can change security policy. Each client grants access to the partner separately, so a compromise at one client does not open all of them.&lt;/p&gt;
&lt;h2 id=&quot;one-console-for-many-tenants&quot;&gt;One console for many tenants&lt;/h2&gt;
&lt;p&gt;Managing fifty tenants one admin portal at a time does not scale. Microsoft 365 Lighthouse is Microsoft’s multi-tenant console for MSPs. Its documentation lists multi-tenant views across customer environments, a default security baseline for small and medium-sized business tenants, multifactor authentication and self-service password reset setup, and alerts on risky sign-ins. Microsoft says there is no additional cost to use it. It is available to partners in the Cloud Solution Provider program, both direct-bill partners and indirect resellers, and both partner and customer tenants must meet its requirements.&lt;/p&gt;
&lt;p&gt;Third-party tools cover the same ground across more vendors: multi-tenant management consoles, remote monitoring tools, ticketing and billing systems, and SaaS security posture tools, covered in &lt;a href=&quot;https://saascron.com/sspm/&quot;&gt;SSPM explained&lt;/a&gt;. This guide does not rank them.&lt;/p&gt;
&lt;h2 id=&quot;backup-what-the-vendor-keeps-and-what-it-does-not&quot;&gt;Backup: what the vendor keeps, and what it does not&lt;/h2&gt;
&lt;p&gt;The most common client question after an incident is “can you get it back?” The answer depends on what was set up before the incident.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Microsoft 365.&lt;/strong&gt; Microsoft 365 Backup protects SharePoint sites, OneDrive accounts and Exchange mailboxes. It costs $0.15 per GB per month for all protected data, and restores are free. The recovery window is set per backup policy: 3 months, 6 months, 1 year or 2 years. It is billed pay-as-you-go, by consumption, not per user. Partner backup applications can also be built on the same storage platform; in that case the partner’s application manages and bills it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Google Workspace.&lt;/strong&gt; Google Vault handles retention, legal holds and eDiscovery search and export. Google’s overview says “Vault isn’t a data archive”, and that “Vault doesn’t retain data until you set up retention rules.” Retention keeps deleted data available to search and export. It is not the same as restoring a user’s files to where they were.&lt;/p&gt;
&lt;p&gt;For the edition and seat details of each suite, see &lt;a href=&quot;https://saascron.com/microsoft-365-saas/&quot;&gt;Microsoft 365 as SaaS&lt;/a&gt; and &lt;a href=&quot;https://saascron.com/google-workspace-saas/&quot;&gt;Google Workspace as SaaS&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;who-does-what&quot;&gt;Who does what&lt;/h2&gt;
&lt;p&gt;The table sets out a common split of duties. The middle column describes the vendor’s tools named above; the right column is a starting point for your contract, not a rule from any vendor.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;What the SaaS vendor provides&lt;/th&gt;
&lt;th&gt;What the MSP usually takes on&lt;/th&gt;
&lt;th&gt;Evidence to keep&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Admin access&lt;/td&gt;
&lt;td&gt;Delegated admin roles (GDAP in Microsoft’s partner program)&lt;/td&gt;
&lt;td&gt;Role design per client, quarterly access review&lt;/td&gt;
&lt;td&gt;List of active relationships and roles per client&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security settings&lt;/td&gt;
&lt;td&gt;Baselines and alerts (Lighthouse’s SMB baseline, risky sign-in views)&lt;/td&gt;
&lt;td&gt;MFA rollout, alert response, exceptions&lt;/td&gt;
&lt;td&gt;Baseline status report per client&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backup&lt;/td&gt;
&lt;td&gt;Microsoft 365 Backup (paid per GB); Vault retention rules (Google)&lt;/td&gt;
&lt;td&gt;Policies, retention choices, restore tests&lt;/td&gt;
&lt;td&gt;Restore test log with dates and times&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Billing&lt;/td&gt;
&lt;td&gt;Per-user subscriptions; per-GB backup charges&lt;/td&gt;
&lt;td&gt;Resale, pass-through or bundling&lt;/td&gt;
&lt;td&gt;Monthly reconciliation of vendor bills to client invoices&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;worked-example-backup-inside-a-flat-per-user-fee&quot;&gt;Worked example: backup inside a flat per-user fee&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; a labeled hypothetical that uses Microsoft’s published backup price. A client has 40 users and 2.5 TB of data across SharePoint, OneDrive and Exchange. You charge a flat $60 per user a month for managed services and want to include backup. Assume 1 TB = 1,000 GB.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backup cost today: 2,500 GB x $0.15 = $375 a month.&lt;/li&gt;
&lt;li&gt;Your fee: 40 x $60 = $2,400 a month.&lt;/li&gt;
&lt;li&gt;Backup per user: $375 / 40 = $9.38, or $9.38 / $60 = 15.6% of the fee.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now suppose the client’s data grows 3% a month.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After 12 months: 2,500 x 1.03^12 = 2,500 x 1.4258 = 3,564 GB.&lt;/li&gt;
&lt;li&gt;Backup cost: 3,564 x $0.15 = $534.60 a month.&lt;/li&gt;
&lt;li&gt;Per user: $534.60 / 40 = $13.37, or 22.3% of the same $60 fee.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fee did not move, the headcount did not move, and backup grew from 15.6% to 22.3% of your revenue from the client. A per-GB cost inside a per-user price shifts the growth risk onto you. Pass it through at cost, or include a storage allowance and bill above it.&lt;/p&gt;
&lt;h2 id=&quot;checklist-for-each-new-client&quot;&gt;Checklist for each new client&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Set up delegated access with the narrowest roles that cover the contract.&lt;/li&gt;
&lt;li&gt;Remove any shared or legacy global admin accounts.&lt;/li&gt;
&lt;li&gt;Apply a security baseline and record what is excluded and why.&lt;/li&gt;
&lt;li&gt;Decide on backup in writing: which services, which recovery window, who pays.&lt;/li&gt;
&lt;li&gt;Run a test restore in the first month and log how long it took.&lt;/li&gt;
&lt;li&gt;Agree how per-user and per-GB charges appear on the invoice.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;common-mistakes&quot;&gt;Common mistakes&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;One global admin account used for every client.&lt;/strong&gt; If it is phished, every client is exposed at once. Why it happens: it is the fastest way to start. Instead: use delegated, least-privilege roles per client and review them each quarter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Treating retention as backup.&lt;/strong&gt; Vault keeps nothing until a rule exists, and keeping data for search is not the same as restoring it. Why it happens: both promise that deleted data is “still there”. Instead: decide on a backup tool per client and write down what it covers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bundling a per-GB cost into a flat per-user fee with no cap.&lt;/strong&gt; In the example, backup rises from 15.6% to 22.3% of the fee in a year. Why it happens: one flat price is easier to sell. Instead: pass storage costs through or set an included allowance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Never testing a restore.&lt;/strong&gt; The first restore is the one the client is watching. Why it happens: backups report success every night, so nobody checks. Instead: restore a mailbox and a site for each client once a quarter and keep the log.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft Learn, &lt;a href=&quot;https://learn.microsoft.com/en-us/partner-center/customers/gdap-introduction&quot;&gt;GDAP introduction&lt;/a&gt;, checked October 17, 2026.&lt;/li&gt;
&lt;li&gt;Microsoft Learn, &lt;a href=&quot;https://learn.microsoft.com/en-us/microsoft-365/lighthouse/m365-lighthouse-overview&quot;&gt;Overview of Microsoft 365 Lighthouse&lt;/a&gt;, checked October 17, 2026.&lt;/li&gt;
&lt;li&gt;Microsoft Learn, &lt;a href=&quot;https://learn.microsoft.com/en-us/microsoft-365/backup/backup-overview&quot;&gt;Overview of Microsoft 365 Backup&lt;/a&gt;, checked October 17, 2026.&lt;/li&gt;
&lt;li&gt;Google Workspace Admin Help, &lt;a href=&quot;https://knowledge.workspace.google.com/vault/getting-started/vault-overview&quot;&gt;Vault overview&lt;/a&gt;, checked October 17, 2026.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;in-three-sentences&quot;&gt;In three sentences&lt;/h2&gt;
&lt;p&gt;An MSP running client SaaS needs separate, least-privilege admin access per client, one console to watch many tenants, and a backup decision made before anything is lost. Microsoft offers GDAP for access, Lighthouse as a no-cost console and Microsoft 365 Backup at $0.15 per GB a month, while Google Vault keeps nothing until retention rules exist. In the example, backup inside a flat $60 fee grows from 15.6% to 22.3% of it in a year, so pass per-GB costs through and test restores quarterly.&lt;/p&gt;
</content:encoded><enclosure url="https://saascron.com/media/msp-saas/16x9.jpg" length="47493" type="image/jpeg"/></item>
<item><title>SaaS SLAs: uptime, support and service credits explained</title><link>https://saascron.com/saas-sla/</link><guid isPermaLink="true">https://saascron.com/saas-sla/</guid><pubDate>Mon, 26 Oct 2026 16:00:00 GMT</pubDate><dc:creator>Ricardo Machado</dc:creator><category>SaaS Operations</category><category>Sla</category><category>Uptime</category><category>Service credits</category><category>Vendor management</category><description>What a SaaS SLA promises: uptime in minutes, how downtime is defined, exclusions and service credits, with two real SLAs compared and a credit worked through.</description><content:encoded>&lt;p&gt;A vendor promises “99.9% uptime”, your team depends on the product every day, and you need to know what that promise is worth when the service goes down. The answer is in the service level agreement (SLA): the part of the contract that sets a measurable commitment, such as uptime, and what the vendor owes you when it misses it.&lt;/p&gt;
&lt;p&gt;Most SaaS SLAs promise less than the headline suggests, and pay less than an outage costs you. This guide turns uptime percentages into minutes, takes an SLA apart clause by clause, compares two published SLAs and works a service credit through. For the basics of software delivered as a service, see &lt;a href=&quot;https://saascron.com/what-is-saas/&quot;&gt;What is SaaS?&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;an-sla-in-plain-terms&quot;&gt;An SLA in plain terms&lt;/h2&gt;
&lt;p&gt;Think of a pizza shop that promises delivery within 30 minutes or your next pizza is free. If the pizza is late, you do not get your party back. You get a voucher, and only if you ask for it, and not if the delay was caused by a snowstorm.&lt;/p&gt;
&lt;p&gt;An SLA works the same way. The vendor commits to a number. If it misses, you can claim a service credit: extra days of service or a discount on a future bill. The credit is a small refund, not compensation for what the outage cost your business.&lt;/p&gt;
&lt;h2 id=&quot;the-parts-of-an-sla&quot;&gt;The parts of an SLA&lt;/h2&gt;
&lt;p&gt;Read every SLA for these seven parts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;The commitment.&lt;/strong&gt; Usually a monthly uptime percentage, such as 99.9%.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The measurement window.&lt;/strong&gt; Most measure per calendar month, so a bad day is averaged over the month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The definition of downtime.&lt;/strong&gt; This decides what counts. A total outage counts everywhere; a slow or partly broken service may not.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exclusions.&lt;/strong&gt; Scheduled maintenance, force majeure, your own network and third-party products are commonly excluded.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service credits.&lt;/strong&gt; A table that maps uptime ranges to a credit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The claim process.&lt;/strong&gt; Who must ask, how and by when. Credits are rarely automatic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caps and sole remedy.&lt;/strong&gt; A maximum credit, and often a clause that the credit is your only remedy for the outage.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Support response times are a separate commitment, sometimes in the SLA and sometimes in a support policy. Check whether they promise a first response or a fix, and for which severity levels.&lt;/p&gt;
&lt;h2 id=&quot;what-uptime-means-in-minutes&quot;&gt;What uptime means in minutes&lt;/h2&gt;
&lt;p&gt;A 30-day month has 30 x 24 x 60 = 43,200 minutes. A 365-day year has 525,600. The allowed downtime is the share of those minutes not covered by the commitment.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Uptime commitment&lt;/th&gt;
&lt;th&gt;Allowed downtime per 30-day month&lt;/th&gt;
&lt;th&gt;Allowed downtime per year&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;99%&lt;/td&gt;
&lt;td&gt;43,200 x 1% = 432 minutes (7.2 hours)&lt;/td&gt;
&lt;td&gt;5,256 minutes (87.6 hours)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.5%&lt;/td&gt;
&lt;td&gt;216 minutes (3.6 hours)&lt;/td&gt;
&lt;td&gt;2,628 minutes (43.8 hours)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.9%&lt;/td&gt;
&lt;td&gt;43.2 minutes&lt;/td&gt;
&lt;td&gt;525.6 minutes (8.76 hours)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.95%&lt;/td&gt;
&lt;td&gt;21.6 minutes&lt;/td&gt;
&lt;td&gt;262.8 minutes (4.38 hours)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99.99%&lt;/td&gt;
&lt;td&gt;4.32 minutes&lt;/td&gt;
&lt;td&gt;52.56 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each extra nine cuts allowed downtime by a factor of ten. Moving from 99.9% to 99.99% takes the monthly allowance from 43.2 minutes to under 5.&lt;/p&gt;
&lt;h2 id=&quot;two-published-slas-compared&quot;&gt;Two published SLAs compared&lt;/h2&gt;
&lt;p&gt;Two vendors publish their SLA terms in full. Their numbers are close; their mechanics differ.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Clause&lt;/th&gt;
&lt;th&gt;Google Workspace&lt;/th&gt;
&lt;th&gt;Atlassian cloud&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commitment&lt;/td&gt;
&lt;td&gt;99.9% monthly uptime&lt;/td&gt;
&lt;td&gt;99.9% on Premium, 99.95% on Enterprise&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Downtime means&lt;/td&gt;
&lt;td&gt;More than a 5% user error rate&lt;/td&gt;
&lt;td&gt;A minute with an error rate above 5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Credit, below 99.9% down to 99.0%&lt;/td&gt;
&lt;td&gt;3 days of service added&lt;/td&gt;
&lt;td&gt;10% (Premium and Enterprise)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Credit, below 99.0% down to 95.0%&lt;/td&gt;
&lt;td&gt;7 days&lt;/td&gt;
&lt;td&gt;25%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Credit, below 95.0%&lt;/td&gt;
&lt;td&gt;15 days&lt;/td&gt;
&lt;td&gt;50%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extra tier&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Enterprise: 5% below 99.95% down to 99.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claim deadline&lt;/td&gt;
&lt;td&gt;Support case within 30 days of becoming eligible&lt;/td&gt;
&lt;td&gt;Ticket within 15 days after the end of the month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cap&lt;/td&gt;
&lt;td&gt;15 days of service per month&lt;/td&gt;
&lt;td&gt;Read the full terms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Page date&lt;/td&gt;
&lt;td&gt;Last modified August 31, 2026&lt;/td&gt;
&lt;td&gt;Effective April 30, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Sources: &lt;a href=&quot;https://workspace.google.com/terms/sla.html&quot;&gt;Google Workspace SLA&lt;/a&gt; and &lt;a href=&quot;https://www.atlassian.com/legal/sla&quot;&gt;Atlassian cloud SLA&lt;/a&gt;, both checked October 17, 2026. Atlassian excludes routine scheduled maintenance and reasonable emergency maintenance under its maintenance policy.&lt;/p&gt;
&lt;p&gt;Not every vendor publishes a number. Slack’s public &lt;a href=&quot;https://slack.com/terms/service-level-agreement&quot;&gt;service level page&lt;/a&gt; (effective July 11, 2024) promises “commercially reasonable efforts” to keep the service available around the clock, with no percentage. Paid enterprise contracts may say more. The point stands: the SLA that binds you is the one in the contract you sign.&lt;/p&gt;
&lt;h2 id=&quot;a-credit-worked-through&quot;&gt;A credit, worked through&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; a hypothetical team pays $12,000 a month for a SaaS product. In a 30-day month, the service is down for 2 hours.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Downtime: 2 x 60 = 120 minutes.&lt;/li&gt;
&lt;li&gt;Share of the month: 120 / 43,200 = 0.28%.&lt;/li&gt;
&lt;li&gt;Uptime: 100% - 0.28% = 99.72%, below 99.9% and above 99.0%.&lt;/li&gt;
&lt;li&gt;Under tiers like Atlassian’s Premium table, assuming the credit applies to the full monthly fee: $12,000 x 10% = $1,200.&lt;/li&gt;
&lt;li&gt;Under tiers like Google’s: 3 days of service. At $12,000 / 30 = $400 a day, that is worth 3 x $400 = $1,200.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now the cost of the same outage to the business. If 200 staff lose 2 hours each at a loaded cost of $50 an hour: 200 x 2 x $50 = $20,000. The credit covers $1,200 / $20,000 = 6% of it. Plan for outages with your own workarounds; the credit will not fund them.&lt;/p&gt;
&lt;h2 id=&quot;checklist&quot;&gt;Checklist&lt;/h2&gt;
&lt;p&gt;Before you sign, tick each line:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The uptime percentage, measurement window and downtime definition are written down, not only on a marketing page.&lt;/li&gt;
&lt;li&gt;Partial outages that block your main use case count as downtime.&lt;/li&gt;
&lt;li&gt;Scheduled maintenance has a notice period and a cap on hours.&lt;/li&gt;
&lt;li&gt;You know the claim deadline, and someone owns the claim.&lt;/li&gt;
&lt;li&gt;Support terms state response times per severity level.&lt;/li&gt;
&lt;li&gt;You run your own monitoring, so you can prove the outage minutes.&lt;/li&gt;
&lt;li&gt;Your plan for a long outage does not depend on the credit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For monitoring, the vendor’s status page is a start, but it reports what the vendor sees. A simple external check that signs in and loads a page every few minutes gives you your own record. Put SLA review into vendor selection, see &lt;a href=&quot;https://saascron.com/evaluate-saas-solutions/&quot;&gt;how to evaluate SaaS solutions&lt;/a&gt;, and into the contract stage of &lt;a href=&quot;https://saascron.com/enterprise-saas/&quot;&gt;enterprise SaaS&lt;/a&gt; deals.&lt;/p&gt;
&lt;h2 id=&quot;common-mistakes&quot;&gt;Common mistakes&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Reading 99.9% as “almost never down”.&lt;/strong&gt; It allows 43.2 minutes a month, more than 8.7 hours a year. Why it happens: the percentage looks close to 100. Instead: convert every commitment to minutes before comparing vendors.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Missing the claim deadline.&lt;/strong&gt; Credits are rarely automatic: 30 days at Google, 15 days after month end at Atlassian. Why it happens: nobody owns the claim during the incident. Instead: assign an owner and log outage times as they happen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Treating the credit as insurance.&lt;/strong&gt; A $1,200 credit against a $20,000 loss covers 6%. Why it happens: the SLA reads like a guarantee. Instead: plan workarounds and, for critical systems, negotiate higher credits or termination rights for repeated misses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ignoring the downtime definition.&lt;/strong&gt; A slow or partly broken service may not count. Why it happens: the definition sits deep in the document. Instead: read it first, and ask how the vendor measures error rates.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Google, &lt;a href=&quot;https://workspace.google.com/terms/sla.html&quot;&gt;Google Workspace Service Level Agreement&lt;/a&gt;, last modified August 31, 2026, checked October 17, 2026.&lt;/li&gt;
&lt;li&gt;Atlassian, &lt;a href=&quot;https://www.atlassian.com/legal/sla&quot;&gt;Cloud service level agreement&lt;/a&gt;, effective April 30, 2026, checked October 17, 2026.&lt;/li&gt;
&lt;li&gt;Slack, &lt;a href=&quot;https://slack.com/terms/service-level-agreement&quot;&gt;Service level agreement&lt;/a&gt;, effective July 11, 2024, checked October 17, 2026.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;in-three-sentences&quot;&gt;In three sentences&lt;/h2&gt;
&lt;p&gt;A SaaS SLA sets a measurable commitment, usually monthly uptime, and the service credit you can claim when the vendor misses it. A 99.9% commitment still allows 43.2 minutes of downtime a month, and the downtime definition, exclusions and claim deadline decide what you can actually recover. Credits are small next to the cost of an outage, such as $1,200 against $20,000 in the example, so convert every promise to minutes, monitor it yourself and plan your own workarounds.&lt;/p&gt;
</content:encoded><enclosure url="https://saascron.com/media/saas-sla/16x9.jpg" length="43907" type="image/jpeg"/></item>
<item><title>SaaS implementation: a step-by-step rollout plan for business teams</title><link>https://saascron.com/saas-implementation/</link><guid isPermaLink="true">https://saascron.com/saas-implementation/</guid><pubDate>Fri, 23 Oct 2026 11:00:00 GMT</pubDate><dc:creator>Ricardo Machado</dc:creator><category>SaaS Operations</category><category>Implementation</category><category>Data migration</category><category>Admin</category><category>SaaS operations</category><description>A six-phase plan to roll out a SaaS product, from requirements to adoption metrics, with a RACI table, a go-live checklist and the usual failure points.</description><content:encoded>&lt;p&gt;Your company has signed for a new SaaS product, the contract start date is fixed, and you have been told to “get everyone on it”. You need a plan that turns a login page into a tool people use, without losing data on the way. A SaaS implementation is that plan: six phases, from writing down what the tool must do to measuring whether people use it.&lt;/p&gt;
&lt;p&gt;The vendor runs the servers, so implementation is not about installing software. It is about configuration, data, connections and people. Those four are yours, whatever the contract says. If the split between what the vendor runs and what you run is new to you, start with &lt;a href=&quot;https://saascron.com/what-is-saas/&quot;&gt;What is SaaS?&lt;/a&gt; and &lt;a href=&quot;https://saascron.com/saas-in-cloud-computing/&quot;&gt;SaaS in cloud computing&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;implementation-in-plain-terms&quot;&gt;Implementation in plain terms&lt;/h2&gt;
&lt;p&gt;Think of it like moving into a furnished apartment. The landlord owns the building, the plumbing and the furniture. You still have to decide which room is for what, carry your boxes in, label them, get the internet connected and show your family where things are. An apartment full of unopened boxes is not a home, however good the building.&lt;/p&gt;
&lt;p&gt;In SaaS terms, the building is the vendor’s product. Your boxes are your data. The internet connection is your integrations. Showing the family around is training. Implementation ends when people live in the new place, not when the keys change hands.&lt;/p&gt;
&lt;h2 id=&quot;the-six-phases&quot;&gt;The six phases&lt;/h2&gt;
&lt;p&gt;Each phase ends with a written output. If a phase has no output, it did not happen.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Requirements.&lt;/strong&gt; List the processes the tool must support, in the order people do them today. Mark each as required, useful or later. Output: a requirements list signed by the business owner.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuration.&lt;/strong&gt; Set up the product to match those processes: fields, workflows, roles, permissions and naming. Change your process before you customize the product, where the product’s default is reasonable. Output: a configuration record, so the next admin knows what was changed and why.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data migration.&lt;/strong&gt; Export from the old system, clean, map each field to the new one, test-import a sample, fix, then import everything. Output: a reconciliation report (records exported against records imported).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integrations.&lt;/strong&gt; Connect identity first: single sign-on (SSO), so people log in with their company account, and user provisioning. SCIM (System for Cross-domain Identity Management), an IETF protocol published as &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc7644&quot;&gt;RFC 7644&lt;/a&gt; in September 2015, lets your identity provider create and remove accounts automatically. Then connect the tools that feed or read the new system. Output: an integration list with owners.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Training.&lt;/strong&gt; Train by role, on the tasks each role does every week, with the company’s real data. Output: a short guide per role and a list of who attended.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adoption.&lt;/strong&gt; Measure use after go-live and act on it. Output: a 30-day and a 90-day adoption report.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;who-does-what-a-raci-table&quot;&gt;Who does what: a RACI table&lt;/h2&gt;
&lt;p&gt;A RACI table assigns one role per task: &lt;strong&gt;R&lt;/strong&gt;esponsible (does the work), &lt;strong&gt;A&lt;/strong&gt;ccountable (owns the result, one person only), &lt;strong&gt;C&lt;/strong&gt;onsulted (asked before) and &lt;strong&gt;I&lt;/strong&gt;nformed (told after). The table below is a starting point for a mid-size rollout. Adjust the roles to your company.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Business owner&lt;/th&gt;
&lt;th&gt;Project lead&lt;/th&gt;
&lt;th&gt;IT / admin&lt;/th&gt;
&lt;th&gt;Vendor&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Requirements list&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Configuration&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data migration&lt;/td&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSO and provisioning&lt;/td&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;A, R&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Training&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Adoption report&lt;/td&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;R&lt;/td&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Two rules make the table useful. Only one person is accountable for each row. And the vendor is never accountable: the contract makes the vendor responsible for its service, not for your rollout.&lt;/p&gt;
&lt;h2 id=&quot;worked-example-migration-effort-and-unused-seats&quot;&gt;Worked example: migration effort and unused seats&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; a labeled hypothetical. A company moves 48,000 customer records into a new CRM and buys 120 seats at $30 per seat per month.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Migration.&lt;/strong&gt; A test import of the full file rejects 4% of records (missing required fields, bad dates, duplicates).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Records to fix: 48,000 x 4% = 1,920.&lt;/li&gt;
&lt;li&gt;At 2 minutes per record: 1,920 x 2 = 3,840 minutes.&lt;/li&gt;
&lt;li&gt;In hours: 3,840 / 60 = 64 hours, or eight working days of 8 hours for one person.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That is eight days nobody put in the plan. A sample import of 500 records in phase 3 would have shown the 4% rate before the go-live date was set.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adoption.&lt;/strong&gt; Thirty days after go-live, 78 of the 120 licensed users were active in a given week.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Measure&lt;/th&gt;
&lt;th&gt;Calculation&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Weekly active rate&lt;/td&gt;
&lt;td&gt;78 / 120&lt;/td&gt;
&lt;td&gt;65%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inactive seats&lt;/td&gt;
&lt;td&gt;120 - 78&lt;/td&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Monthly cost of inactive seats&lt;/td&gt;
&lt;td&gt;42 x $30&lt;/td&gt;
&lt;td&gt;$1,260&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Yearly cost of inactive seats&lt;/td&gt;
&lt;td&gt;$1,260 x 12&lt;/td&gt;
&lt;td&gt;$15,120&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The $15,120 is the cost of a rollout that stopped at go-live. Follow up with each inactive user’s manager before the renewal date, and reduce the seat count if the contract allows it. For how per-seat contracts are priced, see &lt;a href=&quot;https://saascron.com/saas-pricing-models/&quot;&gt;SaaS pricing models&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;go-live-checklist&quot;&gt;Go-live checklist&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The requirements list is signed and every required item is configured and tested.&lt;/li&gt;
&lt;li&gt;A full test import ran, and the reconciliation report shows exported and imported counts that match, or explains each difference.&lt;/li&gt;
&lt;li&gt;The old system is set to read-only from the cutover date, so nobody writes to two places.&lt;/li&gt;
&lt;li&gt;SSO works for every user group, and leaving staff lose access through provisioning, not by hand.&lt;/li&gt;
&lt;li&gt;Every integration on the list has been tested with real records and has a named owner.&lt;/li&gt;
&lt;li&gt;Each role has a one-page guide and a named person to ask in the first two weeks.&lt;/li&gt;
&lt;li&gt;Admin rights are limited to the people who need them, and at least two people hold them.&lt;/li&gt;
&lt;li&gt;An export of the new system’s data has been run and opened, so you know your exit works.&lt;/li&gt;
&lt;li&gt;The 30-day adoption measure and its target are written down before go-live.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;common-mistakes&quot;&gt;Common mistakes&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Recreating the old system inside the new one.&lt;/strong&gt; Every old custom field and workaround is copied across, and the new tool becomes as hard to use as the old one. Why it happens: it feels safer to change nothing. Instead: start from the product’s defaults and add a custom field only when a requirement needs it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Migrating data without a sample test.&lt;/strong&gt; The first full import fails on the night before go-live. Why it happens: migration is planned as one step. Instead: import a sample early, measure the rejection rate and budget the fixing time, as in the example.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Training on features instead of tasks.&lt;/strong&gt; People sit through a tour of every screen and remember none of it. Why it happens: the vendor’s standard training is feature-based. Instead: train each role on the five tasks it does every week, with its own data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Declaring success at go-live.&lt;/strong&gt; Logins on day one say nothing about week six. Why it happens: the project team moves on. Instead: keep the adoption report in the plan, with a named owner, until the 90-day mark.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For a worked case of a per-seat tool that grows with the team, see &lt;a href=&quot;https://saascron.com/crm-saas/&quot;&gt;CRM SaaS&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;IETF, &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc7644&quot;&gt;RFC 7644: System for Cross-domain Identity Management: Protocol&lt;/a&gt;, September 2015.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;in-three-sentences&quot;&gt;In three sentences&lt;/h2&gt;
&lt;p&gt;A SaaS implementation has six phases, requirements, configuration, data migration, integrations, training and adoption, and each one ends with a written output. In the example, a 4% rejection rate on 48,000 records means 64 hours of fixing, and 42 inactive seats at $30 cost $15,120 a year. Test a data sample early, give each task one accountable owner and keep measuring use after go-live, because the rollout is finished only when people work in the new tool.&lt;/p&gt;
</content:encoded><enclosure url="https://saascron.com/media/saas-implementation/16x9.jpg" length="30580" type="image/jpeg"/></item>
<item><title>SaaS integration: APIs, webhooks, iPaaS and the patterns that hold up</title><link>https://saascron.com/saas-integration/</link><guid isPermaLink="true">https://saascron.com/saas-integration/</guid><pubDate>Wed, 21 Oct 2026 11:00:00 GMT</pubDate><dc:creator>Ricardo Machado</dc:creator><category>SaaS Operations</category><category>Integrations</category><category>API</category><category>Webhooks</category><category>Ipaas</category><description>How SaaS tools exchange data through APIs, webhooks, iPaaS connectors and batch syncs, with rate-limit and task-count math and the failure modes to plan for.</description><content:encoded>&lt;p&gt;You run a CRM, a billing tool and a help desk, and the same customer has a different email address in each one. A paid invoice never reaches the sales record, and support cannot see who is on which plan. You need the tools to share data, and you need to pick how before someone builds a fragile script at midnight.&lt;/p&gt;
&lt;p&gt;A SaaS integration is any connection that moves data or triggers actions between two hosted applications. Because you do not control either vendor’s servers, every integration goes through what the vendors expose: APIs, webhooks and connector platforms. If SaaS itself is new to you, start with &lt;a href=&quot;https://saascron.com/what-is-saas/&quot;&gt;What is SaaS?&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;integration-in-plain-terms&quot;&gt;Integration in plain terms&lt;/h2&gt;
&lt;p&gt;Think of a restaurant. An &lt;strong&gt;API&lt;/strong&gt; is the counter: you walk up, ask for something and get an answer. A &lt;strong&gt;webhook&lt;/strong&gt; is the buzzer they hand you: you do not keep asking whether your food is ready, the buzzer tells you. An &lt;strong&gt;iPaaS&lt;/strong&gt; (integration platform as a service) is a delivery service that carries orders between many restaurants for you, for a fee per trip.&lt;/p&gt;
&lt;p&gt;Each one solves a different problem:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;API (application programming interface):&lt;/strong&gt; a documented way for your code to ask another application for data or to change it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Webhook:&lt;/strong&gt; an HTTP message an application sends to a URL you choose when something happens, such as “invoice paid”.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iPaaS:&lt;/strong&gt; a hosted service with ready-made connectors where you define “when this happens in app A, do that in app B” without running your own servers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Batch sync:&lt;/strong&gt; a scheduled job that copies records in bulk, often nightly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;four-patterns-compared&quot;&gt;Four patterns compared&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pattern&lt;/th&gt;
&lt;th&gt;How data moves&lt;/th&gt;
&lt;th&gt;Good for&lt;/th&gt;
&lt;th&gt;Watch out for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Direct API calls&lt;/td&gt;
&lt;td&gt;Your code asks app B for data or writes to it&lt;/td&gt;
&lt;td&gt;Full control, complex logic&lt;/td&gt;
&lt;td&gt;Rate limits, authentication, code you maintain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhooks&lt;/td&gt;
&lt;td&gt;App A pushes an event to your endpoint&lt;/td&gt;
&lt;td&gt;Reacting fast to changes&lt;/td&gt;
&lt;td&gt;Duplicates, events out of order, endpoint downtime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;iPaaS connectors&lt;/td&gt;
&lt;td&gt;A hosted platform runs “if this, then that” flows&lt;/td&gt;
&lt;td&gt;Small volumes, no developers&lt;/td&gt;
&lt;td&gt;Per-task pricing, limited error handling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Batch sync&lt;/td&gt;
&lt;td&gt;Bulk copy on a schedule&lt;/td&gt;
&lt;td&gt;Reporting, data warehouses&lt;/td&gt;
&lt;td&gt;Stale data between runs, long run times&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Many setups end up with a mix. A webhook tells you a payment happened, an API call fetches the details, and a nightly batch feeds reporting. The table is a starting point for choosing per flow, not per company.&lt;/p&gt;
&lt;h2 id=&quot;api-rate-limits-the-arithmetic-you-need-first&quot;&gt;API rate limits: the arithmetic you need first&lt;/h2&gt;
&lt;p&gt;Every SaaS API limits how many requests you can send. The limits are public, and they decide whether a sync finishes overnight or runs into the next morning. HubSpot publishes its limits for privately distributed apps by subscription tier (&lt;a href=&quot;https://developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines&quot;&gt;HubSpot usage guidelines&lt;/a&gt;, as of October 2026):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Free and Starter: 100 requests per 10 seconds per app, 250,000 per day per account.&lt;/li&gt;
&lt;li&gt;Professional: 190 per 10 seconds, 625,000 per day.&lt;/li&gt;
&lt;li&gt;Enterprise: 190 per 10 seconds, 1,000,000 per day.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The 10-second limit applies to each app. The daily limit is shared by every app in the account.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; you plan a nightly job that updates 250,000 contact records, one API request per record.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On a Starter account: 100 requests per 10 seconds = 10 per second. 250,000 / 10 = 25,000 seconds, or 25,000 / 3,600 = 6.9 hours.&lt;/li&gt;
&lt;li&gt;The job also uses 250,000 of the 250,000 daily requests. Every other app on that account then hits the shared daily limit.&lt;/li&gt;
&lt;li&gt;On Professional: 190 per 10 seconds = 19 per second. 250,000 / 19 = 13,158 seconds, or 3.7 hours, and 250,000 / 625,000 = 40% of the daily allowance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A bigger plan is not the only fix. Send only the records that changed since the last run, and use the vendor’s batch endpoints where they exist. If 5% of contacts change on a given day, the same job needs 250,000 x 5% = 12,500 requests, which takes 12,500 / 10 = 1,250 seconds, about 21 minutes, on Starter.&lt;/p&gt;
&lt;h2 id=&quot;webhooks-fast-but-plan-for-repeats&quot;&gt;Webhooks: fast, but plan for repeats&lt;/h2&gt;
&lt;p&gt;Webhooks spare you from asking “anything new?” every minute. They also come with delivery rules you have to handle. Stripe’s documentation is explicit about three of them (&lt;a href=&quot;https://docs.stripe.com/webhooks&quot;&gt;Stripe webhooks&lt;/a&gt;, as of October 2026):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Retries.&lt;/strong&gt; If your endpoint does not answer with a success code, Stripe retries delivery for up to three days in live mode, with exponential backoff.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duplicates.&lt;/strong&gt; The same event can arrive more than once. Stripe advises logging the event IDs you have processed and skipping repeats.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Order.&lt;/strong&gt; Stripe does not guarantee events arrive in the order they were created. An “invoice paid” event can arrive before “subscription created”.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Stripe also advises returning a success response quickly, before running slow logic, and processing events from a queue. That pattern applies to webhooks from any vendor: accept, store, answer, then process.&lt;/p&gt;
&lt;h2 id=&quot;ipaas-priced-by-the-task&quot;&gt;iPaaS: priced by the task&lt;/h2&gt;
&lt;p&gt;Connector platforms charge for the work they do. Zapier, for example, counts a task “whenever Zapier successfully completes a unit of work for you”. Triggers and failed actions do not count. Billed annually, its Professional plan costs $19.99 a month for 750 tasks or $39.00 for 1,500 tasks. The Team plan starts at 2,000 tasks for $69.00 a month (&lt;a href=&quot;https://zapier.com/pricing&quot;&gt;Zapier pricing&lt;/a&gt;, as of October 2026).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; each new order runs one flow with three actions: create the invoice line, update the CRM deal and post a message to the sales channel.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Orders per day&lt;/th&gt;
&lt;th&gt;Tasks per month (orders x 3 x 30)&lt;/th&gt;
&lt;th&gt;Smallest listed tier that covers it (billed annually)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5 x 3 x 30 = 450&lt;/td&gt;
&lt;td&gt;Professional, 750 tasks, $19.99&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;15 x 3 x 30 = 1,350&lt;/td&gt;
&lt;td&gt;Professional, 1,500 tasks, $39.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;40 x 3 x 30 = 3,600&lt;/td&gt;
&lt;td&gt;Above Team’s 2,000 tasks; check the price of a larger tier&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The table shows where iPaaS fits. At low volume it costs less than a developer’s time. As volume grows, the task bill climbs with every order, while a direct API integration costs roughly the same at 40 orders a day as at 5.&lt;/p&gt;
&lt;h2 id=&quot;how-to-choose-flow-by-flow&quot;&gt;How to choose, flow by flow&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Who owns the data?&lt;/strong&gt; Pick one system as the source of truth for each field, such as billing for plan and price, CRM for owner and stage. Integrations copy from the owner, never both ways on the same field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How fresh must it be?&lt;/strong&gt; Seconds means webhooks. Hours means a scheduled sync. Next day means a batch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How much volume?&lt;/strong&gt; Multiply records by changes per day and compare with the API limits and task prices above.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Who fixes it at 2 a.m.?&lt;/strong&gt; An iPaaS flow a manager built has no on-call engineer. Decide who receives the error emails.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For how vendors open their products to integrations through APIs and app marketplaces, see &lt;a href=&quot;https://saascron.com/saas-platform/&quot;&gt;What is a SaaS platform?&lt;/a&gt;. For a CRM-side view of the same problem, see &lt;a href=&quot;https://saascron.com/crm-saas/&quot;&gt;CRM SaaS&lt;/a&gt;. For who runs what in a hosted application, see &lt;a href=&quot;https://saascron.com/saas-in-cloud-computing/&quot;&gt;SaaS in cloud computing&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;common-mistakes&quot;&gt;Common mistakes&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Syncing both ways on the same field.&lt;/strong&gt; Two systems overwrite each other in a loop, and the last writer wins at random. Why it happens: each team wants to edit data in its own tool. Instead: name one owner per field and sync one way.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ignoring rate limits until the first full sync.&lt;/strong&gt; The test with 100 records works; the real run with 250,000 takes hours and uses up the daily allowance. Why it happens: limits sit in a separate documentation page. Instead: do the arithmetic in the example above before you build.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Processing a webhook twice.&lt;/strong&gt; A retried “invoice paid” event creates two receipts or two credits. Why it happens: the handler assumes one delivery per event. Instead: store each event ID and skip any you have already processed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Letting an iPaaS flow fail silently.&lt;/strong&gt; A changed field name breaks a flow, and nobody notices for weeks. Why it happens: error alerts go to the person who built it, who may have left. Instead: send failures to a shared channel and review the run history monthly.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;HubSpot, &lt;a href=&quot;https://developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines&quot;&gt;Usage guidelines&lt;/a&gt;, checked October 2026.&lt;/li&gt;
&lt;li&gt;Stripe, &lt;a href=&quot;https://docs.stripe.com/webhooks&quot;&gt;Receive Stripe events in your webhook endpoint&lt;/a&gt;, checked October 2026.&lt;/li&gt;
&lt;li&gt;Zapier, &lt;a href=&quot;https://zapier.com/pricing&quot;&gt;Pricing&lt;/a&gt;, checked October 2026.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;in-three-sentences&quot;&gt;In three sentences&lt;/h2&gt;
&lt;p&gt;SaaS integration connects hosted applications through APIs, webhooks, iPaaS connectors or batch syncs, and you will usually need a mix chosen flow by flow. At HubSpot’s Starter limit of 10 requests a second, a full sync of 250,000 records takes 6.9 hours and uses the daily allowance, while syncing only the 5% that changed takes about 21 minutes. Name one owner per field, do the rate-limit and task arithmetic before building, and design every webhook handler for retries, duplicates and events out of order.&lt;/p&gt;
</content:encoded><enclosure url="https://saascron.com/media/saas-integration/16x9.jpg" length="26254" type="image/jpeg"/></item>
</channel>
</rss>
