Explore short answers to common questions.

FAQ Categories


How do I point a domain to a new branch in my repository?

BowTie can add or reassign a domain to any environment defined in your project. From your project dashboard, visit the More > Domains page and click ‘Add a Domain’. Type a plain text domain, new custom tld, or subdomain into the field and select the environment you wish to add the domain to. BowTie will automatically configure DNS and SSL for that domain. To remove or edit an existing domain, click the ‘Settings’ button on the Project > Domains page.

Note: Custom domains purchased on BowTie that have been removed from a Project can be located and assigned from the Account > Purchased Domains page.

Learn more about attaching and configuring domains.

How do I configure a subdomain for my project?

Subdomains are treated like any other domain on BowTie and can be assigned to any environment defined in your project. From your dashboard, visit the More > Domains page and click ‘Add a Domain’. Next, type the subdomain (for a domain you already own or manage) into the field and select the environment you wish to add the domain to. BowTie will automatically configure DNS and SSL for that domain.

How do I setup a new environment for testing or staging?

Environments allow you to separate test users, transactions, and project settings from your primary Live application. Environments. are associated with a unique domain, and can be associated to a unique branch in your repository. BowTie repositories are created with a Live and Test environment by default.

To create a new Staging environment:

  1. Create a new domain under the ‘More’ > ‘Domains’ tab in your BowTie dashboard (set any environment initially).
  2. Visit the ‘Environments’ tab in your dashboard and select ‘Add Environment’
  3. Name the environment (e.g ‘Staging’), choose a branch from your repository (e.g. ‘master’), and point it to an available domain (e.g. the one you just created).
  4. Toggle ‘Use Stripe Live Mode’ if you intend to take real transactions in this environment.

Can I use a domain that I already own?

BowTie allows you register new custom domains, or use domains you currently own. For existing domains you’ll need to edit the nameserver records at your domain registrar. Settings are provided during domain installation. Read on to learn how.



How do I get my Angular expressions to work in Jekyll?

Liquid, which is included in Jekyll, uses the same expression tags as Angular. To set up your Angular BowTie project so that expressions get recognized by both frameworks, you can declare a configuration in your Angular project. Simply paste this code into your main.js or app.js file in your project, wherever your module lives.

app.config(function ($interpolateProvider) {

Now, you can surround your Angular expressions by square brackets([[ ]]) and Liquid will still read its usual curly braces. If you’d like to see an in-depth Angular example where this is demonstrated, read this user guide.


Getting Started

How do I use BowTie on Windows machines?

The BowTie development workflow is identical on Windows, Linux, and Mac OS X, but Windows machines require additional configuration steps. To learn how to get setup on Windows, read this user guide, or look at our technical Docs.

I can't log in to my BowTie project?

If your account is new, you’ll need to confirm it in order to access your BowTie project after the initial session. To resend the confirmation email, visit this page.

If your trial has expired, log in to your dashboard to update your billing settings and select a plan. This will guarantee the preservation of data in your repository.

How do I update the default BowTie theme?

Our default Jekyll templates are themed by two Sass files found in the /_scss folder of your project repo; theme.scss and bowtie.scss. The quickest way to theme one of our templates is to update the variables in theme.scss. Read this post on how to update your theme for more information.

Does my BowTie project have to be a static site?

Not exactly. BowTie is designed for static sites and single page javascript applications. We include Jekyll by default, and support any other static site generator. But, you can include webhooks and backends in your BowTie project to connect it to another dynamic app - allowing your BowTie project to serve as a static frontend for that app. Read on for more info.

Can I host my blog on BowTie?

Yes. BowTie is a great place to host a markdown blog in a private repository. We enable push-to-deploy with Jekyll, and our blog template includes components for authorship, comments, social sharing, and more. You can further extend your blog by registering users, or use our Stripe integration to build paywalls. To learn more about blogging on BowTie, read this post.

What is an SSH key? Why does BowTie need mine?

BowTie uses SSH keys as a means of communicating with trusted computers. By entering your SSH key into your BowTie dashboard, you now have the ability to push to your repository from your local machine. If you use GitHub, you probably already have an SSH key, and can use the same one for BowTie. To find it, type cat ~/.ssh/id_rsa.pub into your terminal and copy the contents into your SSH key field in your BowTie dashboard under ‘Account Settings’ > ‘Keys’.

For more information on getting started, read our Docs.


To get started with BowTie, register for a free trial.

How do I work with my site locally?

The BowTie client runs on your development machine and allows you to preview changes locally before pushing to BowTie. It is similar to the Jekyll client (and is built upon it), but includes support for BowTie’s user management, policies, environments, and payments features. To install, run gem install bowtie-io from your command line.  

You can download the BowTie client on our github page. For more information on the client visit our getting started guide, or read our docs.



Can I use a different Stripe account for every client?

Yes. In fact, Stripe’s terms of service require that you use a unique account for each unique project. Connect your project to the desired Stripe account via OAuth in the ‘Revenue’ section of the BowTie dashboard. If you don’t have access to the client’s Stripe credentials, you can grant them access to the BowTie project on your project team page (More > Team).  

Read our technical Docs on Stripe for more information.

How do you process payments on BowTie?

BowTie allows you to process payments with Stripe. We offer turnkey support for Stripe Checkout and Stripe subscriptions, without requiring you to build an integration to Stripe. Payments and subscriptions are segmented by environment. Plans created in Stripe test mode appear in your BowTie test environment, and plans created in Stripe live mode are found in your BowTie live environment.


To learn how to set up payments and build policies, read our user guides on payments and subscriptions.


Read our technical Docs on Stripe for more information.

How do I track plans in my BowTie Dashboard?

BowTie will track any plan you create in Stripe and display key metrics on your BowTie Dashboard. Payments and subscriptions are segmented by environment. Plans created in Stripe test mode appear in your test environment, and plans created in Stripe live mode are found in your live environment. To track a plan visit the ‘Revenue’ > ‘Plans’ page and click ‘Track’ next to the name of the plan you wish to monitor.  

If you’d like to know more about plans. read our technical docs.

How do I refund someone who has made a purchase on my BowTie site?

You can issue refunds within your BowTie dashboard under ‘Revenue’ > ‘Payments’, or ‘Revenue’ > ‘Products’. On each page you will see a list of recent transactions made by your customers. Click the ‘Refund’ button next to any transaction to initiate a refund through via Stripe. For more options, visit your Stripe account.


Learn more about Stripe integration in our Docs.



How do I set up Google Analytics, Segment, or Mixpanel for my BowTie project?

Add the required javascript for your tracking tool as you would any other static site. If you are using our Jekyll templates, you can add a Google Analytics ID to your _config.yml file under the google_analytics_id variable, then include the tracking.html include on the page(s)/template you wish to track. For other tracking software, we recommend you add the required javascript to the tracking.html component.

How do I set up Google Apps Email for my BowTie project?

You can use Google Apps with your BowTie project with no additional configuration. We automatically install the required MX records with every domain you add to your project.

To verify ownership of your site, we recommend using the META tag method.

Note: BowTie does not directly suport the customization of MX records within the Dashboard. Contact us for assistance in setting up other custom MX records.

How do I use Zapier to extend my BowTie application?

Our Zapier integration allows you to use pre-built zaps in your application or build your own. You can set triggers and filters when information is added/updated to a BowTie user record, or user profile.  

If you’d like to see an example of how to integrate Zapier into a BowTie application, read this post.



How do I restrict access to part of my application or repository?

BowTie has policy management built in. You can add .bowtie.yml files with policy definitions to any directory you wish to protect. Policies can be set to either grant or deny access based on user profile attributes such as registration status, subscription and payment information, or custom profile variables. For an example, read this user guide, or look at our docs on user access control.

How do I redirect a user after registration or sign in?

The after_sign_in and after_sign_up paths found in the /settings.json file (included in our templates) allow you to redirect users following a Sign In or Registration. Locate the file in the root directory, and change those two variables to the location you would like users to be redirected to after their action. The default setting is /.


For more information, read our docs.


Static Generators

How do I deploy a Jekyll site to BowTie?

Jekyll is the default generator included in BowTie. If you are starting with our templates, we execute a jekyll build and output the generated files to the _site directory every time you push to your git repository. To learn more about configuring our templates, read this guide.

Can I use other static generators on BowTie?

To use another static generator, set the output directory of your desired generator to _site and add this directory to your git repository. The presence of a _site directory in the repository indicates that BowTie should not run the jekyll build, and should just publish the contents of _site directly.

Don’t forget to remove the _site entry from your .gitignore file; most of our templates include it by default.


User Profiles

How do I store data in a User Profile?

User Profiles are documents that can be used to store and retrieve user information you might otherwise put in a database. BowTie provides a browser profile and purchases profile, but you can create other named profiles as well. You can define and set policies around profile data in order to create specific behavior within your application.



Why can't I see updates in my browser?

If you’re working with the BowTie client and unable to see changes at http://localhost:4000/, check the terminal running the client for errors. In order to see updates on the Project’s domain domain, you need to push to your repository. BowTie is built with Jekyll. Jekyll will process any valid HTML, CSS, and render files that include front matter. Build errors will be seen when running bowtie serve.

Don’t know what front matter is? Read Jekyll’s Docs.

You can view the source for the BowTie client on its github page. For more information on the client, visit our getting started guide.

How do I push to my BowTie repo?

When you are ready to publish your changes to your BowTie site, you can push them up using git in your terminal. Go to your command line, and follow the normal git workflow to push your changes - stage, commit, and then push.

Read on to learn the specifics.

How do I push to Github?

If you’d like to open source all or part of a project in a private BowTie repo, you can add Github as an additional remote using git’s native multi-remote capability. To set up GitHub as a new remote from the command line, follow these steps:

  1. Create a new repository on Github
  2. Run $ git remote -v (This will show you a list of your current remote repositories.)
  3. Add the new remote with $ git remote add github [SSH clone URL] (e.g. ‘git@github.com:example/example.git’)
  4. Check your new remote with $ git remote -v
  5. Run $ git push github to push changes to Github.



Can my users sign in with different third party applications?

Yes. At the moment BowTie offers Twitter and Google oAuth for your clients to utilize instead of our hosted registration pages. Simply attach your developer keys from your respective application into your BowTie dashboard under the ‘Settings’ > ‘oAuth’ tab.  

To read more about oAuth, read this user guide or read our Docs.

Contact Us For Support

Available 8am-6pm M-F MST (excluding major holidays).

Priority Email is returned within 8hr, all other email within 24hr.

For VIP and phone support, contact your account representative.

Looking for something else? Check out our Support Page, User Guides, Examples, and Technical Docs.