{"version":3,"sources":["webpack:///./frontend/sales/sales.html","webpack:///./frontend/sales/home/home.html","webpack:///./frontend/sales/home/images/email-editor-grab.png","webpack:///./frontend/sales/home/images/email-analytics-grab.png","webpack:///./frontend/sales/home/images/onboard-square.png","webpack:///./frontend/sales/blog/blogIndex.html","webpack:///./frontend/sales/blog/blogShow.html","webpack:///./frontend/sales/home/introGraphic.html","webpack:///./frontend/sales/home/automationGraphic.html","webpack:///./frontend/sales/statics/statics.html","webpack:///./frontend/sales/statics/documentation/emails/dunning.html","webpack:///./frontend/sales/statics/documentation/emails/preDunning.html","webpack:///./frontend/sales/statics/documentation/emails/purchased.html","webpack:///./frontend/sales/statics/documentation/emails/cancellation.html","webpack:///./frontend/sales/statics/documentation/emails/cardUpdated.html","webpack:///./frontend/sales/statics/documentation/emails/chargeSucceeded.html","webpack:///./frontend/sales/statics/documentation/emails/invoiceReceipt.html","webpack:///./frontend/sales/statics/documentation/emails/renewed.html","webpack:///./frontend/sales/statics/documentation/emails/renewedBefore.html","webpack:///./frontend/sales/statics/documentation/emails/trialExpired.html","webpack:///./frontend/sales/statics/documentation/emails/trialStart.html","webpack:///./frontend/sales/statics/documentation/emails/trialWillEnd.html","webpack:///./frontend/sales/statics/documentation/documentation.html","webpack:///./frontend/sales/onboard-logo.html","webpack:///./frontend/sales/headerSales.html","webpack:///./frontend/sales/navSales.html","webpack:///./frontend/sales/statics/faq.html","webpack:///./frontend/sales/statics/support.html","webpack:///./frontend/sales/home/images/owen.png","webpack:///./frontend/sales/home/images/chris.png","webpack:///./frontend/sales/home/images/alex.png","webpack:///./frontend/sales/statics/terms.html","webpack:///./frontend/global/meta.service.js","webpack:///./frontend/global/user.service.js","webpack:///./frontend/global/redirects.service.js","webpack:///./frontend/packs/core.js","webpack:///./frontend/global/coreModule.js","webpack:///./frontend/sales/home/images/stripe-square-cutout.png","webpack:///./frontend/sales/statics/documentation/emails/changedPlan.html","webpack:///./frontend/sales/blog/blogIndex.component.js","webpack:///./frontend/sales/blog/blogShow.component.js","webpack:///./frontend/sales/statics/documentation/documentation.component.js","webpack:///./frontend/sales/sales.component.js","webpack:///./frontend/sales/home/home.component.js","webpack:///./frontend/sales/home/introGraphic.component.js","webpack:///./frontend/sales/home/automationGraphic.component.js","webpack:///./frontend/sales/statics/statics.component.js","webpack:///./frontend/sales/onboardLogo.component.js","webpack:///./frontend/sales/headerSales.component.js","webpack:///./frontend/sales/navSales.component.js","webpack:///./frontend/global/pageChange.hook.js","webpack:///./frontend/sales/sales.module.js","webpack:///./frontend/sales/footerSales.component.js","webpack:///./frontend/sales/home/images/sendview-logo.png","webpack:///./frontend/sales/home/images/itv-logo.png","webpack:///./frontend/sales/home/images/wordtracker-logo.png"],"names":["module","exports","$meta","$window","this","name","title","section","defaultTitle","page","document","getElementsByTagName","className","querySelector","setAttribute","description","state","originalTitle","setTitle","setSection","setDescription","setPage","setName","$inject","UserService","user","builtUser","angular","copy","$redirects","redirects","check","toState","includes","userAccessingUserFunctions","url","require","_","capitalize","string","charAt","toUpperCase","substring","toLowerCase","uiRouter","ngSanitize","SALES_MODULE","config","$uiRouter","$locationProvider","hashPrefix","html5Mode","enabled","requireBase","blogIndex","controller","$postList","$","remove","append","template","blogShow","$postEntry","_Controller","$sce","$timeout","$location","templates","dunning","trust","preDunning","purchased","cancellation","cardUpdated","changedPlan","chargeSucceeded","invoiceReceipt","renewed","renewedBefore","trialExpired","trialStart","trialWillEnd","docSection","offsets","disableScroll","links","id","indent","linkId","e","preventDefault","Object","keys","forEach","key","window","scrollTo","vh","innerHeight","documentElement","style","setProperty","$elements","each","idx","split","_id","_elem","getElementById","offsetTop","element","bind","onScroll","currentTarget","scrollY","setVh","highest","lastId","html","trustAsHtml","documentation","Auth","currentUser","then","response","initialize","drift","identify","email","sales","location","href","home","introGraphic","automationGraphic","statics","onboardLogo","bindings","width","headerSales","expanded","navSales","pageChangeHook","$transitions","$state","transitionChecker","$anchorScroll","onBefore","transition","to","parent","get","stateService","router","needsAdmin","admin","userFunctionPages","authenticate","target","redirect","error","status","onSuccess","setFromState","salesState","redirectTo","component","homeState","staticsState","documentationState","faqState","blogIndexState","blogShowState","aboutState","supportState","termsState","AuthProvider","loginPath","logoutPath","resetPasswordMethod","registerPath","urlService","rules","otherwise","$stateRegistry","stateRegistry","register","service","value","inProgress","run"],"mappings":"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","file":"js/core-dd6a02b2ac42ca82a74b.chunk.js","sourcesContent":["module.exports = \"\";","module.exports = \"

Use Stripe?
Send emails with Onboard.

Automate all your customer emails. Send dunning emails, welcome sequences and more. Just connect to Stripe in one click.

Welcome and trial emails

Send welcome sequences for new subscriptions. Email customers in trial before their trial expires to boost conversion rates.

Payment emails

Recover revenue by sending dunning emails when payments fail. Email customers who make one-off payments and customize emails to each product.

Lifecycle emails

Email customers before or after they renew, when they upgrade/downgrade, and send cancellation sequences to recover churned subscriptions

Getting started is simple, seamless and secure.

Transactional email without the code.

Setting up Onboard is simple: you plug in your Stripe account with one click. That's it. Once you're connected, all your Stripe plans and products are available to target within our seamless platform. You can even tailor your emails to each Stripe customer.

Beautiful emails in seconds

Onboard's streamlined email editor makes it easy to create effective emails. Insert CTA buttons, links, customise your colors to match your brand... or for those requiring complete control, code your own HTML email.

Automation with confidence

Onboard's comprehensive analytics suite gives you a 360-degree view of your customer communications. Monitor the performance of each email with granular activity logs as well as delivery, open, click and bounce rates.

Advanced targeting

Send different emails based on different Stripe subscription plans

Excellent deliverability

Full support for DKIM and SPF records to maximise delivery rates

Dynamic emails

Customize emails per customer with merge tags and templating

Our customers

Simple pricing.

$35 per month

Unlimited Stripe customersUnlimited email sends

Start 14-day free trial
\";","module.exports = __webpack_public_path__ + \"email-editor-grab-597f3dd6b272c6c86c14b87fab7976a9.png\";","module.exports = __webpack_public_path__ + \"email-analytics-grab-95d4cdee2b69fb1a3384b59b1133a3d3.png\";","module.exports = __webpack_public_path__ + \"onboard-square-3aa7f2507d20f992efed2cd6ad90b695.png\";","module.exports = \"
\";","module.exports = \"
\";","module.exports = \"
Trigger Trial ends soon
Time targeting 2 days before trial end
Subject line Your trial ends in two days
7:24pm
Ling at Sender.io
Your trial ends in two days
Hey! We hope you're enjoying Sender.io...
\";","module.exports = \"

Connect to Stripe

Authorize Onboard to connect to Stripe?

Choose when to send

Payment failed
Subscription purchased
Subscription cancelled
One-off charge
Trial started
Trial ends soon

Set targeting

Select Stripe plans
Entry
Plus
Scale
Premium
Enterprise

Write your email

Dear {{ customer.name }},

Your {{ subscription.plan.name }} subscription is all set up!

To get started check the docs below:

Best,

{{ sender.name }}

Measure

Email performance
98% delivered
67% opened
15% clicked
\";","module.exports = \"
\";","module.exports = \"

Payment failed (aka dunning) emails

The 'Payment failed' trigger sends emails automatically after a customer's payment has failed, so that you can remind them to update their payment details.

Any scheduled emails will be stopped from sending as soon as the customer pays their invoice to you.

Automatic retries

Stripe retries payment sources regularly. If you'd like to trigger emails on every failed retry, make sure 'Trigger email every time an automatic payment retry fails' is ticked. In order to avoid re-triggering email sequences, this option only affects emails whose time targeting is set to send 'immediately after' the customer's payment fails.

\";","module.exports = \"

Payment will fail (aka pre-dunning) emails

The 'Payment will fail' trigger sends emails automatically to any customer whose card details will have expired by the time Stripe attempts to collect payment for their next subscription billing period. This is an ideal opportunity to remind them to update their card details.

Any scheduled 'Payment will fail' emails will stop sending as soon as a customer updates their payment details.

\";","module.exports = \"

Subscription purchased emails

The 'Subscription purchased' trigger sends emails the first time a customer purchases a paid subscription. This will be when a customer either purchases a subscription that doesn't have a trial, or successfully converts from a trial to a paying subscription by adding their payment details.

When this email is triggered by a trialing customer adding their payment details, you can choose to send the email either immediately, or when the trial officially ends and the customer is charged at the start of the new billing period. Set this using the tickbox in the 'advanced options' section.

\";","module.exports = \"

Subscription cancelled emails

The 'Subscription cancelled' trigger sends emails automatically when a customer cancels their Stripe subscription. This can be a good opportunity to ask them if there's anything you can do better, or even offer them a discount if they re-subscribe.

\";","module.exports = \"

Card updated emails

The 'Card updated' trigger sends emails automatically whenever a customer manually updates their card, when their card is updated within the Stripe admin interface, or when their bank issues them a new card with a new expiry date and lets Stripe know about it.

\";","module.exports = \"

Charge succeeded emails

The 'Charge succeeded' trigger sends emails automatically when a customer pays for a Stripe charge. You can create emails that target specific products, packages or other charge types by specifying the charge 'description' to target in the 'advanced options' section.

\";","module.exports = \"

Invoice paid emails

The 'Invoice paid' trigger sends emails automatically when a customer successfully pays their Stripe invoice. An ideal use of this trigger type is to send the customer an invoice receipt.

Advanced options

If you send users information about their new subscription at the point of initial purchase (for example, in a purchased subscription email), you may not want to send them an invoice receipt. If so, make sure 'Don't send this email the first time the customer is invoiced' is ticked.

\";","module.exports = \"

Subscription renewed emails

The 'Subscription renewed' trigger sends emails automatically when a customer's subscription ticks over onto their next billing period.

\";","module.exports = \"

Subscription will renew emails

The 'Subscription will renew' trigger sends emails automatically a customizable number of days before a customer's subscription ticks over onto their next billing period. You can use it to send renewal reminders.

\";","module.exports = \"

Trial expired emails

The 'Trial expired' trigger sends emails automatically when a customer's trial comes to an end.

\";","module.exports = \"

Started trial emails

The 'Started trial' trigger sends emails automatically to each customer whenever they subscribe to a plan that has a trial period.

If you have a welcome sequence that you trigger using the start of your customers' trials, you can use the advanced triggering options to stop sending these emails once customers have added their payment details.

\";","module.exports = \"

Trial ends soon emails

The 'Trial ends soon' trigger sends emails automatically a few days before a customer's trial is due to end.

\";","module.exports = \"

Documentation

Overview

Onboard is a platform for sending emails to your Stripe customers. Onboard is designed for businesses that use Stripe Billing to manage their subscriptions or use Stripe Charges to create one-off charges.

Onboard will send welcome emails or trial emails to your new customers, cancellation emails to customers who churn and dunning, pre-dunning emails to deal with payment problems and much more. You can set up all these emails with just a few clicks.

Connecting to Stripe

To allow Onboard to send automated emails in response to what happens within your Stripe account, you need to authorize Onboard with your Stripe. This is a one-click process: we use Stripe Connect to sort all of the configuration automatically and you don't need to set up webhook endpoints or anything like that.

Using Stripe Connect means your data stays within Stripe. Only occasionally do we store a small amount of Stripe event data for the purposes of scheduling future emails &mdash and even then the data is securely encrypted on our servers and deleted once the email is sent.

Additionally, the access you grant us is read-only. We can't make charges on your account and you can revoke our access at any time via the Stripe admin panel.

To connect, just click the big 'Connect to Stripe' button at the top of the admin area. If you want to disconnect, you can click 'revoke access' in your Stripe account settings under the 'Connect' tab.

Email triggers

Onboard makes triggering Stripe emails simple. Read the guide below to learn about each type of email Onboard can send.

Triggering

'Triggering' here refers to when an email becomes elligible for sending. The actual time it will send depends on the time settings you've set in the triggering section of the email editor.

Email editing

Onboard's email editor accepts pure HTML. It does not interfere with or change your email's HTML before it is sent (with some exceptions, below). We recommend using a tool like Litmus to make sure your email looks awesome in all email clients before you send it.

That said, Onboard does convert any CSS styles to inline attributes, and also converts relative paths to absolute paths, as per email best practice.

It also parses Liquid markup.

Dynamic content

Onboard uses Liquid markup to render information stored in Stripe to your emails.

You can read our comprehensive guide to dynamic content in emails here.

Previewing emails

Our full screen email editor will show you an rendered preview of the email. You can click between a Desktop and Mobile preview.

Note about email clients

Emails will look different in different email clients. The preview function is designed as a rough preview only: we recommend using a tool like Litmus to make sure your email looks awesome in all email clients before you send it.

Test sends

Click 'Send test...' and enter up to five email addresses (separated by commas) to send a test email.

Important note

One of the key factors in deliverability is whether or not people open and click on the emails you send. Therefore it is crucial that each of your test email recipients open every test email you send and click on at least one link inside the email to keep your deliverability nice and high.

Activity and scheduled preview

The 'emails scheduled' view on the Automation activity page shows emails scheduled to be sent in the next seven days.

Important note

Because Onboard double-checks that scheduled emails are still valid at the moment of sending, you may occasionally see emails scheduled in here that will not actually end up being sent. For example: Subscription Will Renew emails where the customer has already cancelled their subscription.

Troubleshooting

If you have any questions, email support@onboardhq.com and we'll get straight back to you.

\";","module.exports = \" Onboard \";","module.exports = \"

\";","module.exports = \" \";","module.exports = \"

Frequently asked questions

What emails does Onboard send?

Onboard can send welcome emails when your customers subscribe, cancellation rescue emails when they cancel, update card prompt emails when card details are due to expire soon, dunning emails for when a customer's payment has failed, trial emails, one-off charge emails, invoice receipts, renewal notifications — pretty much any email that you'd ever want to get out of Stripe.

However, if we've missed any, please let us know by emailing us at support@onboardhq.com. We're always looking to expand our repertoire!

Can I send different emails for different plans?

Yes. Onboard grabs your plan names from Stripe when you sign up and lets you set up emails targeting just one or as many plans as you like.

Can I create sequences of emails?

Absolutely. For example, to create a welcome sequence, simply create your first welcome email with targeting set to 'when customer subscribes', then create another email with targeting set to 'one day after a customer subscribes' and so on.

What email analytics does Onboard provide?

Onboard shows you sends, deliveries, opens, clicks and, for certain types of email, revenue earnt.

Are there any limits on email sends, number of customers, etc?

In short, no. All features of Onboard are completely unlimited even during the free trial. Emails can only be triggered by customer actions, but it doesn’t matter how many of those there are. The price is the same.

Is it secure?

Absolutely. None of your customer details are held within Onboard and we don’t retain any payment or customer information. We use the OAuth protocol to connect with Stripe and our site is behind SSL to ensure everything is kept secure.

How much revenue can I recover?

That depends on how much you’re losing. You can only ever recover a percentage of this, however we’re confident that it will be more than the $35 a month subscription cost. If it’s not, get in touch and we’ll give you one month free (as long as you have an active Stripe account).

\";","module.exports = \"

Support

  • Owen CEO
  • Chris Product
  • Alex Engineering

Contact us

Need some support? Just get in touch.

Email: support@onboardhq.com

If you're stuck, be sure to check out the documentation.

More about Team Onboard

We’re a London based company who have been working together on different projects for the past four years. Check out Wordtracker.com to see one of them in action.

We've used Stripe as our go-to payments provider for years and we love it. But what we don't love is building custom integrations to send emails on cancellation and card expiry, onboarding emails on sign-up and all the other basics any SaaS company needs. So we decided to solve the problem once and for all.

Our mission is to make Onboard the easiest way possible to communicate with customers based on Stripe events. So let us know how we're doing – feedback is always welcome!

\";","module.exports = __webpack_public_path__ + \"owen-36e27b1347e92eedc2c77f6162402e5f.png\";","module.exports = __webpack_public_path__ + \"chris-dd8efab8298f4a10f1647a7d1df4ffdf.png\";","module.exports = __webpack_public_path__ + \"alex-35746eaaa88b08432341bf3352df6aed.png\";","module.exports = \"

Terms

Team Onboard Ltd, International House, 776-778 Barking Road, London, England, E13 9PJ

Summary

Team Onboard ltd (“Team Onboard”) operates the Onboard service, which we hope You (the “Customer”, “You”, or “Your”) use. Any reference to “Onboard” also refers to “Team Onboard ltd”. If You use Onboard, please use it responsibly. If You don’t, we’ll have to terminate Your account.

For paid accounts, you’ll be charged on a monthly basis. You can cancel anytime, but there are no refunds.

You own the business data that you provide to Onboard and You’re responsible for keeping it safe.

The Terms of Service (the “Terms”), the Onboard Service (as defined herin), and our prices can change at any time. We’ll warn you 30 days in advance of any price changes. We’ll try to warn you about major changes to the Terms or Onboard, but we make no guarantees.

So that’s the gist of it, but you must read through the entire below and agree with all the details before you use any of our sites or services (whether or not You have created an account).

You can use these terms too...

We got these terms from Baremetrics, who in turn got them from Heroku, who got them from Google. You’re welcome to use them too under the Creative Commons Attribution 3.0 License. Neither Baremetrics, Inc. nor Heroku, Inc. nor Google, Inc. is connected with, and they do not sponsor, or endorse Onboard or its use of the work.

Your Agreement with Onboard

Your use of the Onboard Service is governed by these Terms. The “Service” means the services Onboard makes available include our web sites (http://Onboardhq.com/), our blog, our API, and any other software, sites, and services offered by Onboard in connection to any of those.

In order to use the Service, You must first agree to the Terms. You understand and agree that Onboard will treat Your use of the Service as acceptance of the Terms from that point onwards.

Onboard may make changes to the Terms from time to time. You may reject the changes by terminating Your account. You understand and agree that if You use the Service after the date on which the Terms have changed, Onboard will treat Your use as acceptance of the updated Terms.

If you have any question about the Terms, please contact us at support@onboardhq.com.

Your Account

You may not use the Service if You are a person barred from receiving the Service under the laws of the United States or other countries, including the country in which You are resident or from which You use the Service.

You may not use the service unless you are over the age of 13.

You must be a human. Account created by automated methods are not permitted.

Use of the Service

You must provide accurate and complete registration information any time You register to use the Service.

You are responsible for the security of Your passwords and for any use of Your account.

Your use of the Service must comply with all applicable laws, regulations and ordinances.

You agree to not engage in any activity that interferes with or disrupts the Service.

Onboard reserves the right to enforce quotas and usage limits (to any resources, including the API) at its sole discretion, with or without notice, which may result in Onboard disabling or throttling Your usage of the Service for any amount of time.

You may not allow multiple people to use the same account or otherwise access the Service in a manner intended to avoid incurring fees.

Service Policies and Privacy

The Service shall be subject to the privacy policy for the Service available at https://onboardhq.com/privacy (the “Privacy Policy”), which are hereby expressly incorporated into the Terms of Service by reference. You agree to the use of Your data in accordance with Onboard’ Privacy Policy.

Fees for Use of the Service

The Service may be provided to You without charge up with certain limits or for a certain “trial” period of time.

Usage over this limit (or after the “trial” period) or requires Your purchase of additional resources or services.

For all purchased resources and services, we will charge Your credit card on a monthly basis.

Payments are non-refundable. There will be no refunds or credits for partial months of service, upgrade/downgrade refunds, or refunds for months unused with an open account.

Charges are solely based on Onboard’s measurements of Your use of the Service, unless otherwise agreed to in writing.

All fees are exclusive of all taxes, levies, or duties imposed by taxing authorities, and You shall be responsible for payment of all such taxes, levies, or duties.

You acknowledge and agree that any credit card and related billing and payment information that You provide to Onboard may be shared by Onboard with companies who work on Onboard’s behalf, such as payment processors and/or credit agencies, solely for the purposes of checking credit, effecting payment to Onboard and servicing Your account.

Onboard may change its fees and payment policies for the Service by notifying You at least thirty (30) days before the beginning of the billing cycle in which such change will take effect.

Cancellation and Termination

You must cancel Your account via support request at http://onboardhq.com using your account email. Any other emails or phone requests to cancel Your account will not be considered a cancellation.

You will not receive any refunds if You cancel Your account.

If You cancel the Service before the end of Your current paid up month, Your cancellation will take effect immediately and You will not be charged again.

You agree that Onboard, in its sole discretion and for any or no reason, may terminate or suspend Your account. You agree that any termination of Your access to the Service may be without prior notice, and You agree that Onboard will not be liable to You or any third party for such termination.

Ideas and Feedback

You may choose to or we may invite You to submit comments or ideas about the Service, including but not limited to ideas about improving the Service or our products (“Ideas”). By submitting any Idea, You agree that Your disclosure is unsolicited and without restriction and will not place Onboard under any fiduciary or other obligation, and that we are free to use the Idea without any additional compensation to You, and/or to disclose the Idea on a non-confidential basis or otherwise to anyone.

Modification of the Service

You acknowledge and agree that the Service may change from time to time without prior notice to You.

Changes include, without limitation, changes to fee and payment policies, security patches, added or removed functionality, and other enhancements or restrictions.

Onboard shall not be liable to you or to any third party for any modification, price change, suspension or discontinuance of the Service.

External Resources

The Service may include hyperlinks to other web sites or content or resources or email content. You acknowledge and agree that Onboard is not responsible for the availability of any such external sites or resources, and does not endorse any advertising, products or other materials on or available from such web sites or resources.

License from Onboard and Restrictions

All of the content available on or through the Service, including without limitation, text, photographs, graphics, logos, trade/service marks, and/or audiovisual content, is owned and/or controlled by Onboard, or other licensors or Service users and is protected, as applicable, by copyright, trademark, trade dress, patent, and trade secret laws, other proprietary rights, and international treaties. You acknowledge that the Service and any underlying technology or software used in connection with the Service contain our proprietary information.

Subject to and conditioned upon Your compliance with these Terms, we grant to you a personal, worldwide, royalty-free, non-assignable and non-exclusive license to use the software provided to You by Onboard as part of the Service as provided to You by Onboard. This license is for the sole purpose of enabling You to use and enjoy the benefit of the Service as provided by Onboard, in the manner permitted by the Terms.

You may not (and You may not permit anyone else to): (a) copy, modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to extract the source code of the Service or any part thereof, unless this is expressly permitted or required by law, or unless You have been specifically told that You may do so by Onboard, in writing (e.g., through an open source software license); or (b) attempt to disable or circumvent any security mechanisms used by the Service.

Open source software licenses for components of the Service released under an open source license constitute separate written agreements. To the limited extent that the open source software licenses expressly supersede these Terms, the open source licenses govern Your agreement with Onboard for the use of the components of the Service released under an open source license.

You may not use the Service in any manner that could damage, disable, overburden or impair our servers or networks, or interfere with any other users’ use or enjoyment of the Service.

You may not attempt to gain unauthorized access to any of the Service, member accounts, or computer systems or networks, through hacking, password mining or any other means.

Without limiting anything else contained herein, You agree that You shall not (and You agree not to allow any third party to):

remove any notices of copyright, trademark or other proprietary rights contained in/on or accessible through the Service or in any content or other material obtained via the Service;

use any robot, spider, website search/retrieval application, or other automated device, process or means to access, retrieve or index any portion of the Service;

reformat or frame any portion of the web pages that are part of the Service;

use the Service for commercial purposes not permitted under these Terms;

create user accounts by automated means or under false or fraudulent pretenses;

attempt to defeat any security or verification measure relating to the Service;

provide or use tracking or monitoring functionality in connection with the Service, including, without limitation, to identify other users’ actions or activities;

impersonate or attempt to impersonate Onboard or any employee, contractor or associate of Onboard, or any other person or entity; or

collect or store personal data about other users in connection with the prohibited activities described in this paragraph.

Our Copyright Dispute Policy

Onboard respects the intellectual property of others and requires that our users do the same. It is our policy to terminate the membership of repeat infringers. If You believe that material or content residing on or accessible through the Service infringes a copyright, please send a notice of copyright infringement containing the following information to the Designated Copyright Agent listed below:

identification of the copyrighted work claimed to have been infringed, or, if multiple copyrighted works are covered by a single notification, a representative list of such works;

identification of the claimed infringing material and information reasonably sufficient to permit us to locate the material on the Onboard Service (providing the URL(s) of the claimed infringing material satisfies this requirement);

information reasonably sufficient to permit us to contact You, such as an address, telephone number, and an email address;

a statement by You that You have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;

a statement by You, made under penalty of perjury, that the above information in Your notification is accurate and that You are the copyright owner or are authorized to act on the copyright owner’s behalf; and

your physical or electronic signature.

Our Designated Copyright Agent for notification of claimed infringement can be reached at Onboard, Attn: Copyright Officer, One Euston Square, 40 Melton Street, London NW1 2FD, support@onboardhq.com

Links to Other Websites

The Service may contain advertisements and/or links to other websites (“Third Party Sites”). Onboard does not endorse, sanction or verify the accuracy or ownership of the information contained in/on any Third Party Site or any products or services advertised on Third Party Sites. If You decide to leave the Site and navigate to Third Party Sites, or install any software or download content from any such Third Party Sites, You do so at Your own risk. Once You access a Third Party Site through a link on our Site, You may no longer be protected by these Terms of Service and You may be subject to the terms and conditions of such Third Party Site. You should review the applicable policies, including privacy and data gathering practices, of any Third Party Site to which You navigate from the Site, or relating to any software You use or install from a Third Party Site. Concerns regarding a Third Party Site should be directed to the Third Party Site itself. Onboard bears no responsibility for any action associated with any Third Party Site.

Disclaimer of Warranties

IF YOU ACCESS THE SERVICE, YOU DO SO AT YOUR OWN RISK. WE PROVIDE THE SERVICE “AS IS”, “WITH ALL FAULTS” AND “AS AVAILABLE.” WE MAKE NO EXPRESS OR IMPLIED WARRANTIES OR GUARANTEES ABOUT THE SERVICE. TO THE MAXIMUM EXTENT PERMITTED BY LAW, WE HEREBY DISCLAIM ALL SUCH WARRANTIES, INCLUDING ALL STATUTORY WARRANTIES, WITH RESPECT TO THE SERVICE, INCLUDING WITHOUT LIMITATION ANY WARRANTIES THAT THE SERVICE IS MERCHANTABLE, OF SATISFACTORY QUALITY, ACCURATE, FIT FOR A PARTICULAR PURPOSE OR NEED, OR NON-INFRINGING. WE DO NOT GUARANTEE THAT THE RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SERVICE WILL BE EFFECTIVE, RELIABLE OR ACCURATE OR WILL MEET YOUR REQUIREMENTS. WE DO NOT GUARANTEE THAT YOU WILL BE ABLE TO ACCESS OR USE THE SERVICE (EITHER DIRECTLY OR THROUGH THIRD-PARTY NETWORKS) AT TIMES OR LOCATIONS OF YOUR CHOOSING. WE ARE NOT RESPONSIBLE FOR THE ACCURACY, RELIABILITY, TIMELINESS OR COMPLETENESS OF INFORMATION PROVIDED BY ANY OTHER USERS OF THE SERVICE OR ANY OTHER DATA OR INFORMATION PROVIDED OR RECEIVED THROUGH THE SERVICE. EXCEPT AS EXPRESSLY SET FORTH HEREIN, Onboard MAKES NO WARRANTIES ABOUT THE INFORMATION SYSTEMS, SOFTWARE AND FUNCTIONS MADE ACCESSIBLE BY OR THROUGH THE SERVICE OR ANY SECURITY ASSOCIATED WITH THE TRANSMISSION OF SENSITIVE INFORMATION. Onboard DOES NOT WARRANT THAT THE SERVICE WILL OPERATE ERROR-FREE, THAT ERRORS IN THE SERVICE WILL BE FIXED, THAT LOSS OF DATA WILL NOT OCCUR, OR THAT THE SERVICE OR SOFTWARE ARE FREE OF COMPUTER VIRUSES, CONTAMINANTS OR OTHER HARMFUL ITEMS. UNDER NO CIRCUMSTANCES WILL Onboard, ANY OF OUR AFFILIATES, DISTRIBUTORS, PARTNERS, LICENSORS, AND/OR ANY OF OUR OR THEIR DIRECTORS, OFFICERS, EMPLOYEES, CONSULTANTS, AGENTS, OR OTHER REPRESENTATIVES BE LIABLE FOR ANY LOSS OR DAMAGE CAUSED BY YOUR RELIANCE ON INFORMATION OBTAINED THROUGH THE SERVICE.

Limitations on Liability

YOUR SOLE AND EXCLUSIVE REMEDY FOR ANY DISPUTE WITH US IS THE CANCELLATION OF YOUR REGISTRATION. IN NO EVENT SHALL OUR TOTAL CUMULATIVE LIABILITY TO YOU FOR ANY AND ALL CLAIMS RELATING TO OR ARISING OUT OF YOUR USE OF THE SERVICE, REGARDLESS OF THE FORM OF ACTION, EXCEED THE GREATER OF: (A) THE TOTAL AMOUNT OF FEES, IF ANY, THAT YOU PAID TO UTILIZE THE SERVICE OR (B) ONE HUNDRED DOLLARS ($100). IN NO EVENT SHALL WE BE LIABLE TO YOU (OR TO ANY THIRD PARTY CLAIMING UNDER OR THROUGH YOU) FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES OR ANY BODILY INJURY, EMOTIONAL DISTRESS, DEATH OR ANY OTHER DAMAGES ARISING FROM YOUR USE OF OR INABILITY TO USE THE SERVICE, WHETHER ON-LINE OR OFF-LINE, OR OTHERWISE IN CONNECTION WITH THE SERVICE. THESE EXCLUSIONS APPLY TO ANY CLAIMS FOR LOST PROFITS, LOST DATA, LOSS OF GOODWILL OR BUSINESS REPUTATION, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, ANY OTHER COMMERCIAL DAMAGES OR LOSSES, OR ANY PERSONAL INJURY OR PROPERTY DAMAGES, EVEN IF WE KNEW OR SHOULD HAVE KNOWN OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES OR JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR THE LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, IN SUCH STATES OR JURISDICTIONS, OUR LIABILITY SHALL BE LIMITED TO THE EXTENT PERMITTED BY LAW. IF YOU ARE A CALIFORNIA RESIDENT, YOU WAIVE YOUR RIGHTS WITH RESPECT TO CALIFORNIA CIVIL CODE SECTION 1542, WHICH SAYS “A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE CREDITOR DOES NOT KNOW OR SUSPECT TO EXIST IN HIS FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH, IF KNOWN BY HIM MUST HAVE MATERIALLY AFFECTED HIS SETTLEMENT WITH THE DEBTOR.”

Indemnification

You agree to hold harmless and indemnify Onboard, and its subsidiaries, affiliates, officers, agents, employees, advertisers, licensors, suppliers or partners from and against any third party claim arising from or in any way related to (a) Your breach of the Terms, (b) Your use of the Service, or (c) Your violation of applicable laws, rules or regulations in connection with the Service, including any liability or expense arising from all claims, losses, damages (actual and consequential), suits, judgments, litigation costs and attorneys’ fees, of every kind and nature. In such a case, Onboard will provide You with written notice of such claim, suit or action.

Choice of Law and Dispute Resolution

The Terms of Service shall be deemed to have been entered into and shall be construed and enforced in accordance with the laws of the State of Alabama as applied to contracts made and performed entirely within Alabama, without giving effect to any conflicts of law statutes. Any controversy, dispute or claim arising out of or related to the Terms, the Privacy Policy or the Service shall be settled by final and binding arbitration to be conducted by an arbitration tribunal in the State of Alabama and the County of Shelby, pursuant to the rules of the American Arbitration Association. Any and all disputes that You may have with Onboard shall be resolved individually, without resort to any form of class action.

General Legal Terms

The Terms, including the Privacy Policy, constitute the whole legal agreement between You and Onboard and govern Your use of the Service and completely replace any prior agreements between You and Onboard in relation to the Service.

If any part of the Terms is held invalid or unenforceable, that portion shall be construed in a manner consistent with applicable law to reflect, as nearly as possible, the original intentions of the parties, and the remaining portions shall remain in full force and effect.

The failure of Onboard to exercise or enforce any right or provision of the Terms shall not constitute a waiver of such right or provision. The failure of either party to exercise in any respect any right provided for herein shall not be deemed a waiver of any further rights hereunder.

You agree that if Onboard does not exercise or enforce any legal right or remedy which is contained in the Terms (or which Onboard has the benefit of under any applicable law), this will not be taken to be a formal waiver of Onboard’s rights and that those rights or remedies will still be available to Onboard.

Onboard shall not be liable for failing or delaying performance of its obligations resulting from any condition beyond its reasonable control, including but not limited to, governmental action, acts of terrorism, earthquake, fire, flood or other acts of God, labor conditions, power failures, and Internet disturbances.

We may assign this contract at any time to any parent, subsidiary, or any affiliated company, or as part of the sale to, merger with, or other transfer of our company to another entity.

\";","export class $meta {\n\n constructor($window) {\n this.$window = $window;\n this.name = null;\n this.title = null;\n this.section = null;\n this.defaultTitle = 'Onboard';\n }\n\n setSection(section) {\n this.section = (section) ? section : null;\n }\n\n setPage(page) {\n this.page = (page) ? page : null;\n }\n \n setName(name) {\n this.name = (name) ? name : null;\n document.getElementsByTagName('body')[0].className = name;\n }\n\n setTitle(title) {\n title = title;\n this.title = title;\n this.$window.document.title = title;\n this.$window.document.querySelector('meta[property=\"og:title\"]').setAttribute(\"content\", title);\n this.$window.document.querySelector('meta[name=\"twitter:title\"]').setAttribute(\"content\", title);\n }\n\n setDescription(description) {\n if (description) {\n this.$window.document.querySelector('meta[name=\"description\"]').setAttribute(\"content\", description);\n this.$window.document.querySelector('meta[property=\"og:description\"]').setAttribute(\"content\", description);\n this.$window.document.querySelector('meta[itemprop=\"description\"]').setAttribute(\"content\", description);\n this.$window.document.querySelector('meta[name=\"twitter:description\"]').setAttribute(\"content\", description);\n }\n }\n\n setFromState(state) {\n if (!state.originalTitle) this.setTitle(state.title);\n this.setSection(state.section);\n this.setDescription(state.description);\n this.setPage(state.page);\n this.setName(state.name);\n }\n\n}\n\n$meta.$inject = ['$window'];\n","export class UserService {\n\n constructor () {\n this.user = {};\n }\n\n initialize(user) {\n let builtUser = {\n // Merge in extra boolean helpers here, eg, 'isSubscriber'\n ...user\n };\n\n angular.copy(builtUser, this.user);\n return this.user;\n }\n\n reset() {\n angular.copy({}, this.user);\n }\n\n}","export const $redirects = () => {\n\n var redirects = {};\n\n const userAccessingUserFunctions = (user, toState) => {\n if (['login', 'signUp', 'passwordReset', 'passwordEdit'].includes(toState.name)) throw 'messageList';\n }\n\n redirects.check = (user, toState) => {\n if (!user) return null;\n try {\n userAccessingUserFunctions(user, toState);\n return false;\n } catch (url) {\n // console.log(`Redirected to ${url}`);\n return url;\n }\n };\n\n return redirects;\n}","// Import JS\nimport \"../global/coreModule.js\";\n\n// CSS base styles\n// (Mixins and vars from css/provided are already provided via webpack sass-resource-loader)\nimport \"../css/reset.scss\";\nimport \"../css/general.scss\";\n\nimport \"../app/app.scss\";\nimport \"../css/buttons.scss\";\nimport \"../css/code.scss\";\nimport \"../css/content.scss\";\nimport \"../css/typefaces.scss\";\nimport \"../css/typography.scss\";\n","import * as angular from \"angular\";\nimport uiRouter from \"@uirouter/angularjs\";\nimport * as ngSanitize from 'angular-sanitize';\n\nrequire('AngularDevise/lib/devise-min');\n\nimport { SALES_MODULE } from '../sales/sales.module';\n\n_.capitalize = function (string) {\n return string.charAt(0).toUpperCase() + string.substring(1).toLowerCase();\n};\n\nexport const ngmodule = angular.module(\"onboardApp\", [\n uiRouter,\n ngSanitize,\n 'Devise',\n SALES_MODULE.name,\n]);\n\nngmodule.config(['$uiRouterProvider', '$locationProvider', ($uiRouter, $locationProvider) => {\n $locationProvider.hashPrefix('');\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false\n });\n}]);","module.exports = __webpack_public_path__ + \"stripe-square-cutout-9a1c0f4df6b1f05cd9755d00406beed1.png\";","module.exports = \"

Change plan emails

The 'Changed plan' trigger sends emails automatically whenever a customer changes their subscription plan, whether upgrading or downgrading.

\";","import \"./blog.scss\";\n\nclass _Controller {\n constructor() {\n const $postList = $('#post-list');\n $('#post-list').remove();\n $('#post-list-container').append($postList);\n }\n}\n\nexport const blogIndex = {\n controller: _Controller,\n template: require('./blogIndex.html')\n};\n","class _Controller {\n constructor() {\n const $postEntry = $('#post-entry');\n $('#post-entry').remove();\n $('#post-entry-container').append($postEntry);\n\n debugger\n }\n}\n\nexport const blogShow = {\n controller: _Controller,\n template: require('./blogShow.html')\n};\n","import \"./documentation.scss\";\n\nclass _Controller {\n constructor($sce, $window, $timeout, $location) {\n this.$sce = $sce;\n this.$timeout = $timeout;\n this.$window = $window;\n this.$location = $location;\n this.templates = {\n dunning: this.trust(require(\"./emails/dunning.html\")),\n preDunning: this.trust(require(\"./emails/preDunning.html\")),\n purchased: this.trust(require(\"./emails/purchased.html\")),\n cancellation: this.trust(require(\"./emails/cancellation.html\")),\n cardUpdated: this.trust(require(\"./emails/cardUpdated.html\")),\n changedPlan: this.trust(require(\"./emails/changedPlan.html\")),\n chargeSucceeded: this.trust(require(\"./emails/chargeSucceeded.html\")),\n invoiceReceipt: this.trust(require(\"./emails/invoiceReceipt.html\")),\n renewed: this.trust(require(\"./emails/renewed.html\")),\n renewedBefore: this.trust(require(\"./emails/renewedBefore.html\")),\n trialExpired: this.trust(require(\"./emails/trialExpired.html\")),\n trialStart: this.trust(require(\"./emails/trialStart.html\")),\n trialWillEnd: this.trust(require(\"./emails/trialWillEnd.html\")),\n changedPlan: this.trust(require(\"./emails/changedPlan.html\")),\n }\n this.docSection = \"docs-overview\";\n this.offsets = {};\n this.disableScroll = false;\n this.links = [\n {id: \"overview\", title: \"Overview\"},\n {id: \"connecting-to-stripe\", title: \"Connecting to Stripe\"},\n {id: \"types-of-email\", title: \"Email triggers\"},\n {id: \"trial-start\", title: \"Started trial\", indent: true},\n {id: \"trial-will-end\", title: \"Trial ends soon\", indent: true},\n {id: \"trial-expired\", title: \"Trial expired\", indent: true},\n {id: \"welcome\", title: \"Subscription purchased\", indent: true},\n {id: \"renewed-before\", title: \"Subscription will renew\", indent: true},\n {id: \"renewed\", title: \"Subscription renewed\", indent: true},\n {id: \"cancellation\", title: \"Subscription cancelled\", indent: true},\n {id: \"changed-plan\", title: \"Changed plan\", indent: true},\n {id: \"card-updated\", title: \"Updated card\", indent: true},\n {id: \"dunning\", title: \"Payment failed\", indent: true},\n {id: \"pre-dunning\", title: \"Payment will fail\", indent: true},\n {id: \"invoice-receipt\", title: \"Invoice paid\", indent: true},\n {id: \"charge-succeeded\", title: \"Charge suceeded\", indent: true},\n {id: \"email-editing\", title: \"Email editing\"},\n {id: \"liquid-markup\", title: \"Dynamic content\", indent: true},\n {id: \"previewing-emails\", title: \"Previewing emails\", indent: true},\n {id: \"test-sends\", title: \"Test sends\", indent: true},\n {id: \"activity-scheduled\", title: \"Activity and scheduled preview\"},\n {id: \"troubleshooting\", title: \"Troubleshooting\"}\n ]\n }\n\n\n goToAnchor(linkId, e) {\n e.preventDefault();\n const keys = Object.keys(this.offsets);\n keys.forEach(key => {\n if (this.offsets[key] == `docs-${linkId}`) {\n window.scrollTo(0, key);\n this.disableScroll = true;\n this.docSection = `docs-${linkId}`\n }\n });\n }\n\n\n\n setVh() {\n let vh = window.innerHeight * 0.01;\n // Then we set the value in the --vh custom property to the root of the document\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n\n $onInit() {\n this.$timeout(() => {\n const $elements = $('.list-section h2, .list-section h3, .email-types > li')\n $elements.each((idx) => {\n const elem = $elements[idx];\n if (elem.id.split(\"-\")[0] === \"docs\") {\n const _id = $elements[idx].id;\n const _elem = document.getElementById(_id)\n this.offsets[_elem.offsetTop] = _elem.id;\n }\n })\n angular.element(this.$window).bind(\"scroll\", (e) => {\n this.onScroll(e.currentTarget.scrollY);\n });\n angular.element(this.$window).bind(\"resize\", (e) => {\n this.setVh()\n });\n this.onScroll(window.scrollY);\n this.setVh();\n }, 200);\n }\n\n onScroll(scrollY) {\n if (this.disableScroll) {\n this.disableScroll = false;\n return false;\n }\n const keys = Object.keys(this.offsets);\n let highest = 0;\n keys.forEach(key => {\n if (scrollY + 100 > key) highest = key; \n })\n const lastId = this.offsets[highest];\n if (lastId != this.docSection) {\n const _id = lastId || this.offsets[keys[0]];\n this.$timeout(()=> {\n this.docSection = _id;\n // if (!this.$location.hash() && _id === \"docs-overview\") {\n // // nothing\n // } else {\n // this.$location.replace().hash(_id);\n // }\n })\n }\n }\n\n trust(html) {\n return this.$sce.trustAsHtml(html);\n }\n};\n\n_Controller.$inject = ['$sce', '$window', '$timeout', '$location'];\n\nexport const documentation = {\n controller: _Controller,\n template: require(\"./documentation.html\")\n};\n\n","import \"./sales.scss\";\n\nclass _Controller {\n constructor(UserService, Auth, $timeout) {\n this.Auth = Auth;\n this.UserService = UserService;\n this.$timeout = $timeout;\n }\n\n $onInit() {\n this.Auth.currentUser().then(response => {\n const { user } = response;\n this.UserService.initialize(user);\n this.user = this.UserService.user;\n \n this.$timeout(() => {\n var drift = drift || null;\n if (!!drift) {\n drift.identify('USER-' + this.user.id, {\n email: this.user.email,\n });\n }\n }, 100)\n }).catch(() => {\n // User is not logged in, ignore\n })\n }\n}\n\n_Controller.$inject = ['UserService', 'Auth', '$timeout'];\n\nexport const sales = {\n controller: _Controller,\n template: require('./sales.html')\n};\n","import \"./home.scss\";\n\nclass _Controller {\n\n constructor() {}\n\n goToSignUp () {\n window.location.href = '/sign-up';\n // try {\n // // goog_snippet_vars();\n // // window.google_conversion_format = '3';\n // this.$location.path('/sign-up');\n // } catch (err) {\n // this.$location.path('/sign-up');\n // }\n }\n\n}\n\n_Controller.$inject = [];\n\nexport const home = {\n controller: _Controller,\n template: require('./home.html')\n};\n","import \"./introGraphic.scss\";\n\nexport const introGraphic = {\n template: require('./introGraphic.html'),\n};","import \"./automationGraphic.scss\";\n\nexport const automationGraphic = {\n template: require('./automationGraphic.html'),\n};","import \"./support.scss\";\nimport \"./faq.scss\";\n\nclass _Controller {\n constructor() {\n }\n}\n\nexport const statics = {\n controller: _Controller,\n template: require('./statics.html')\n};\n","export const onboardLogo = {\n bindings: {\n width: '<',\n },\n template: require('./onboard-logo.html')\n};","export const headerSales = {\n template: require('./headerSales.html')\n};","class _Controller {\n\n constructor($location, $meta) {\n this.$location = $location;\n this.expanded = false;\n this.$meta = $meta;\n }\n\n goToSignUp () {\n window.location.href = '/sign-up';\n }\n\n}\n\n_Controller.$inject = ['$location', '$meta'];\n\nexport const navSales = {\n controller: _Controller,\n template: require('./navSales.html')\n};","export function pageChangeHook($transitions, $meta, UserService, $state, Auth, $redirects, transitionChecker, $anchorScroll, $location, $timeout) {\n\n $transitions.onBefore({}, transition => {\n\n const toState = transition.to();\n const parent = (toState.parent) ? $state.get(toState.parent) : false;\n const { stateService } = transition.router;\n\n const needsAdmin = () => ((toState.admin || parent.admin));\n const needsAuth = () => ((toState.authenticate || parent.authenticate));\n const userFunctionPages = () => (['login', 'signUp', 'passwordReset', 'passwordEdit'].includes(toState.name));\n\n if (needsAuth() || needsAdmin() || userFunctionPages()) {\n return Auth.currentUser().then(response => {\n const { user } = response;\n UserService.initialize(user);\n\n if (needsAdmin() && !user.admin) {\n return stateService.target('dashboard');\n }\n\n const redirect = $redirects.check(user, toState);\n if (redirect) return stateService.target(redirect);\n\n return true;\n\n }).catch(error => {\n // console.error(error);\n if (error.status == 401) {\n if (userFunctionPages()) return true;\n return stateService.target('login');\n } else {\n return stateService.target('home');\n }\n });\n } else {\n return true;\n }\n\n });\n\n // Set meta (title/section details) if page change is successful\n $transitions.onSuccess({}, transition => {\n\n $meta.setFromState(transition.to())\n // if ($location.hash()) {\n // $timeout(() => $anchorScroll(), 150);\n // }\n\n })\n\n}\n\npageChangeHook.$inject = ['$transitions', '$meta', 'UserService', '$state', 'Auth', '$redirects', 'transitionChecker', '$anchorScroll', '$location', '$timeout'];\n","import { sales } from \"./sales.component\";\nimport { home } from \"./home/home.component\";\nimport { blogIndex } from \"./blog/blogIndex.component\";\nimport { blogShow } from \"./blog/blogShow.component\";\nimport { introGraphic } from \"./home/introGraphic.component\";\nimport { automationGraphic } from \"./home/automationGraphic.component\";\nimport { statics } from \"./statics/statics.component\";\nimport { documentation } from \"./statics/documentation/documentation.component\";\nimport { onboardLogo } from \"./onboardLogo.component\";\nimport { headerSales } from \"./headerSales.component\";\nimport { navSales } from \"./navSales.component\";\nimport { footerSales } from \"./footerSales.component\";\n\nimport { $redirects } from \"../global/redirects.service\";\nimport { $meta } from \"../global/meta.service\";\nimport { UserService } from \"../global/user.service\";\nimport { pageChangeHook } from \"../global/pageChange.hook\";\n\nexport const salesState = {\n name: 'sales',\n redirectTo: 'home',\n component: 'sales',\n};\n\nexport const homeState = {\n name: 'home',\n url: '/',\n parent: 'sales',\n title: 'Onboard | Stripe emails with dunning, welcome and cancellation from Onboard',\n component: 'home',\n};\n\nexport const staticsState = {\n name: 'statics',\n parent: 'sales',\n component: 'statics',\n};\n\nexport const documentationState = {\n name: 'documentation',\n url: '/documentation',\n title: 'Documentation | Onboard',\n description: 'Learn how to automate Stripe emails with Onboard. Send trial emails, welcome, dunning, cancellation and more.',\n component: 'documentation',\n section: 'documentation'\n};\n\nexport const faqState = {\n name: 'faq',\n url: '/faq',\n parent: 'statics',\n title: 'FAQ | Onboard',\n description: 'What emails does Onboard send? Can I create sequences of emails? Here are some answers to frequently asked questions.',\n template: require('./statics/faq.html'),\n section: 'faq'\n};\n\nexport const blogIndexState = {\n name: 'blogIndex',\n url: '/blog',\n parent: 'statics',\n title: 'Blog | Onboard',\n description: 'What emails does Onboard send? Can I create sequences of emails? Here are some answers to frequently asked questions.',\n component: 'blogIndex',\n section: 'blog'\n};\n\nexport const blogShowState = {\n name: 'blogShow',\n url: '/blog/:id',\n parent: 'statics',\n component: 'blogShow',\n section: 'blog',\n originalTitle: true\n};\n\nexport const aboutState = {\n name: 'about',\n url: '/about',\n redirectTo: 'support'\n // parent: 'statics',\n // title: 'About | Onboard',\n // template: require('./statics/about.html')\n};\n\nexport const supportState = {\n name: 'support',\n url: '/support',\n parent: 'statics',\n title: 'Support | Onboard',\n template: require('./statics/support.html'),\n section: 'support'\n};\n\nexport const termsState = {\n name: 'terms',\n url: '/terms',\n parent: 'statics',\n title: 'Terms and Conditions | Onboard',\n template: require('./statics/terms.html')\n};\n\nexport const SALES_MODULE = angular.module('sales', []);\n\nSALES_MODULE.config(['$uiRouterProvider', 'AuthProvider', function($uiRouter, AuthProvider) {\n // Enable tracing of each TRANSITION... (check the javascript console)\n // $uiRouter.trace.enable(1);\n\n AuthProvider.loginPath('/users/login.json');\n AuthProvider.logoutPath('/users/logout.json');\n AuthProvider.resetPasswordMethod('PUT');\n AuthProvider.registerPath('/users.json');\n\n const $urlService = $uiRouter.urlService;\n $urlService.rules.otherwise({ state: 'home' });\n\n const $stateRegistry = $uiRouter.stateRegistry;\n $stateRegistry.register(salesState);\n $stateRegistry.register(homeState);\n $stateRegistry.register(staticsState);\n $stateRegistry.register(documentationState);\n $stateRegistry.register(faqState);\n $stateRegistry.register(blogIndexState);\n $stateRegistry.register(blogShowState);\n $stateRegistry.register(aboutState);\n $stateRegistry.register(supportState);\n $stateRegistry.register(termsState);\n\n}]);\n\nSALES_MODULE.component('sales', sales);\nSALES_MODULE.component('home', home);\nSALES_MODULE.component('statics', statics);\nSALES_MODULE.component('blogIndex', blogIndex);\nSALES_MODULE.component('blogShow', blogShow);\nSALES_MODULE.component('documentation', documentation);\nSALES_MODULE.component('onboardLogo', onboardLogo);\nSALES_MODULE.component('headerSales', headerSales);\nSALES_MODULE.component('navSales', navSales);\nSALES_MODULE.component('footerSales', footerSales);\nSALES_MODULE.component('introGraphic', introGraphic);\nSALES_MODULE.component('automationGraphic', automationGraphic);\n\nSALES_MODULE.service('$meta', $meta);\nSALES_MODULE.service('$redirects', $redirects);\nSALES_MODULE.service('UserService', UserService);\nSALES_MODULE.value('transitionChecker', { inProgress: false })\nSALES_MODULE.run(pageChangeHook);","export const footerSales = {\n template: `\n `\n};","module.exports = __webpack_public_path__ + \"sendview-logo-de3734e7ae566f1d83a268fb3fc9374e.png\";","module.exports = __webpack_public_path__ + \"itv-logo-2e203bea689662ed219751ad76d1e200.png\";","module.exports = __webpack_public_path__ + \"wordtracker-logo-90d5a713a649a21d49cd6e3887b51bc8.png\";"],"sourceRoot":""}