Project Settings ​

Project settings is where you configure everything that applies to a whole project in BlueFox Email: its logo and email theme, how mail is actually sent, the custom contact properties and tags your contacts can carry, the API keys and whitelisted domains your application uses to reach the project, and the definition of an unengaged contact. Every setting on this page is scoped to one project, so two projects in the same account can send from different domains, use different designs, and store completely different contact data.

To access the project settings, click on the Settings tab. Here, you can use the sub-menu to navigate to different sections of the project settings.

A screenshot of a project settings main page.

Main Settings ​

Users can add, update, or remove a custom logo for their project. This logo will be displayed on the subscription preferences page and double opt-in confirmation page success message to provide branding consistency.

To manage the project logo:

  • Add or update: Click upload, select an image, and save.

  • Remove: Click remove logo and confirm.

A screenshot of a project settings logo section.

Custom Subscription Preferences Page ​

By default, subscribers who click the unsubscribe or pause links in your emails land on BlueFox Email's subscription preferences page, where they can unsubscribe, resubscribe, or pause their subscriptions to your public lists. If you host your own subscription preferences page, you can send them there instead, so your page takes over that job.

Paste the URL of your page into Custom Subscription Preferences URL. From then on, subscribers who click the unsubscribe or pause links in your emails are sent to your page instead of the default one.

  • Scheme: https:// is assumed if you don't include one. If you're testing against a local server, include http:// yourself.
  • Default page: Leave the field empty to use the default page.

A screenshot of the custom subscription preferences page section in the project settings main tab.

You can also change your email theme of the project in this section. Changing the email theme will update the design of all your emails. Your saved templates and blocks are tied to their original theme, they won't be accessible while on a different theme, but if you switch back, they will be available again. However, any overridden theme variables (such as colors or images) will be permanently lost, even if you switch back, those overriding values will not be restored.

A screenshot of a project settings email theme section.

Email Branding ​

By default, every email sent from a project carries a small "Powered by bluefox.email" badge at the bottom. The Email Branding card shows the badge and the Show the bluefox.email badge switch:

A screenshot of the project settings Email Branding section with the badge switch and the badge-free note highlighted.

The switch is locked on until you have a send pack or a subscription. Once you do, you can switch the badge off for the project. The badge is a setting of the project, so it applies to every email sent from that project. See pricing for the packs and subscriptions.

When you have a send pack or a subscription, the switch is unlocked. Turn it off to remove the badge. While it stays on, a note under the badge thanks you for keeping it, as a simple, free way to support BlueFox Email:

A screenshot of the project settings Email Branding section with the badge switch unlocked and the thank-you note highlighted.

Keeping the badge helps us

BlueFox Email is built by a small, independent team. Leaving the badge on is a simple, free way to support us and help other senders find us. It's entirely up to you, and thank you if you do.

Users can also manage the project name in this section or delete the project entirely by clicking the Delete project button.

A screenshot of a project settings main settings section - project name and delete project button highlighted.

Sending Setup ​

The Sending Setup section is where you choose how emails are sent from your project. So the default for every new project is sandbox mode. In this mode, you can start sending emails immediately but with some limitations. When you're ready for unrestricted sending, you can request to move your project to production mode. If you prefer to bring your own AWS SES account, you can do that too.

For more details, see our Delivery Modes documentation.

A screenshot of a project settings delivery modes section.

Verified Domains ​

The Verified Domains section is where you verify the domains you send from. Verifying a domain lets BlueFox Email sign your emails and handle bounces for it, so you can send from your own address instead of a shared sender. Click Add Domain to add one, then publish the DNS records shown for it with your DNS provider.

Each domain appears as a row with its region and a status for each of the four record types BlueFox Email checks:

  • DKIM: CNAME records used to sign your emails.
  • MX: the record used to handle bounce reports.
  • SPF: the TXT record that authorizes mail senders.
  • DMARC: the TXT record that sets your email policy.

A green check means the record was found. Expand the row to see the Type, Name, and Value of every record, with a copy icon next to each so you can paste them straight into your DNS provider. After you publish or change records, click Recheck DNS to check them again.

A screenshot of a project settings verified domains section.

Once all four records are checked, the domain is verified and you can add it to the domain whitelist. To remove a domain, click Delete Domain at the bottom of its row.

For how verified domains relate to sandbox and production mode, see Delivery Modes.

Adding Your DNS Records in One Click ​

You don't have to copy the records one by one. While a domain isn't verified yet, open its row and you'll see Add all records at once above the table, with three options: Cloudflare, AWS Route 53, and Other provider:

A screenshot of the Verified Domains section with the Add all records at once options highlighted.

Click your DNS provider, and a dialog opens with the steps and a ready-made zone file of all the records for the domain. Each dialog also has a Recheck DNS button, so you can check the domain right after you've added the records.

  • Cloudflare: click Download Zone File. In Cloudflare, open Domains, select your domain, go to DNS → Records and click Import, then upload the file. Leave Proxy imported DNS records unchecked, otherwise the DKIM records won't verify.

    A screenshot of the Import into Cloudflare dialog with the warning and the Download Zone File button highlighted.

  • AWS Route 53: click Copy. In the AWS console, open Route 53 → Hosted zones, select your domain and choose Import zone file, then paste the records into the Zone file box and click Import. If any of the records already exists, Route 53 imports nothing and shows "UnknownError". Remove that line and try again.

    A screenshot of the Import into AWS Route 53 dialog with the warning and the Copy button highlighted.

  • Other provider: click Download Zone File (or Copy) and look for "Import zone file" or "BIND import" in your DNS provider. If it has no import option, add the records from the table by hand.

    A screenshot of the Import into your DNS provider dialog with the Download Zone File button highlighted.

DNS changes can take a little while to propagate. When the records are in, click Recheck DNS, and the checks turn green once they're found.

Bounces and Complaints Webhooks ​

This feature is only available for projects using Bring Your Own (BYO) AWS SES. For other project types, BlueFox Email automatically handles bounces and complaints.

To effectively manage email bounces and complaints, BlueFox Email provides webhook integration. This allows you to receive real-time notifications about these events, enabling you to take appropriate actions such as updating contact statuses or triggering follow-up processes. For the full list of events BlueFox Email can notify you about, see Webhooks.

A screenshot of a project settings bounces and complaints webhooks section.

Keep in mind

If bounce rate and complaint rates are not kept within acceptable limits, the BlueFox Email team can restrict the project or the whole account. The current thresholds are documented under Maintaining Production Access. See also Account and Project Restrictions.

Contact Properties ​

Contact properties allow users to define custom attributes for contacts at the project level. These properties appear in the contacts table and can be filled when adding or editing a contact.

Add new Property ​

To add a new property, navigate to project settings → contact properties, click create, enter the property name and type, then save. The property will be available in the contact management interface.

Each contact property includes:

  • Property Name: The user-defined name.

  • API Name: The system-generated name used when sending or retrieving data via API.

  • Type: The data type of the property, which can be string, boolean, date, or number.

CSV Upload Note

When uploading contacts via CSV, you must use the API Name as the column header.

A screenshot of a project settings contact properties section create property.

Reserved Properties ​

Some properties are reserved and cannot be created. These include status, pausedUntil, email, accountId, projectId, customFields, contactId, subscriberListId, unsubscribeLink, pauseSubscriptionLink.

Delete Property ​

To delete a property, go to project settings → contact properties, locate the property in the table, and click the delete icon. Confirm the deletion, and the property will be removed from both the contacts table and the contact creation/editing interface.

A screenshot of a project settings contact properties section delete property.

Contact Tags ​

Contact tags are labels that you can assign to contacts to help organize them based on specific criteria or characteristics. Tags can be used for various purposes, such as categorizing contacts by interests, behaviors, or demographics, which can then be leveraged for targeted email campaigns and personalized communication.

To manage contact tags, navigate to project settings → contact tags. Here you can see a list of all existing tags in the project and you can create new tags or delete existing ones.

To create a new tag, click the Create button : A screenshot of a project settings contact tags section create tag.

Enter the name of the tag and save it. The new tag will be available for assignment to contacts. A screenshot of a project settings contact tags section create tag form.

If you want to delete a tag, find it in the list of tags, click the delete icon, and confirm the deletion. The tag will be removed from the project and unassigned from any contacts that had it.

A screenshot of a project settings contact tags section delete tag.

API Keys and Domain Whitelist ​

To work with our API from the server side, create at least one API key.

Include our API keys in the Authorization header of your HTTP requests as a bearer token.

Authorization: Bearer <API_KEY>

For bounces and complaints, it is added as a query string.

Periodically rotate sensitive info like API keys for security reasons. We use different colors to indicate the age of the API key as a reminder:

  • Green: less than a month old
  • Yellow: 1-6 months old
  • Red: more than 6 months old

A screenshot of a project settings API keys section.

Security Warning

Since an API key is very sensitive information, never use it in your frontend code. Always use it from your backend.

Domain Whitelist ​

The domain whitelist ensures that sign-up requests are only processed from authorized domains, enhancing security during the sign-up process. If your frontend is making requests, you must add its domain to the whitelist to authorize them.

Security Note

The domain whitelist applies only to frontend requests. If your requests are coming from a backend server, you should use API keys instead, as backend requests do not require domain whitelisting.

  • To add a domain: Navigate to project settings → domain whitelist, click create, enter the domain, and save. This ensures that requests from the frontend are recognized and approved. A screenshot of a project settings domain whitelist section add domain.

  • To add a domain you've verified: Navigate to project settings → verified domains and click Add to Whitelist on the domain's row. The button appears only once the domain is verified, meaning its DKIM, MX, SPF, and DMARC records are all checked. The domain is added to the whitelist, so you don't have to enter it again by hand. A screenshot of a project settings verified domains section with the add to whitelist button highlighted.

    Once it's whitelisted, the button is replaced by a green Whitelisted label: A screenshot of a project settings verified domains section with the whitelisted label highlighted.

  • To edit an existing domain: Navigate to project settings → domain whitelist, locate the domain, and click on the edit icon. Make the necessary changes and save them. A screenshot of a project settings domain whitelist section edit domain.

  • To delete a domain: Navigate to project settings → domain whitelist, find it in the domain whitelist, click the delete icon, and confirm the deletion. Once removed, any sign-up requests from that domain will no longer be authorized. A screenshot of a project settings domain whitelist section delete domain.

Integrations ​

Here you can manage third-party integrations that enhance your project's capabilities. Right now we support the following integrations:

  • AI Agents: Copy a ready-made setup prompt that points an AI agent at this project through the public API.
  • MCP Server: Copy the install and connection snippets that let Claude Desktop, Claude Code, Cursor, Windsurf, or any other MCP-compatible agent manage this project directly.
  • Zapier: Connect your BlueFox Email project with thousands of apps to automate workflows without coding. Set up triggers and actions to streamline your email marketing processes.
  • Webhooks: Configure webhooks to receive real-time notifications about specific events in your project, such as email deliveries, bounces, or complaints. This allows you to integrate BlueFox Email with your existing systems and automate responses to these events.

AI Agents ​

Beta

This section is in beta.

At the top of the Integrations tab, the AI Agents section gives you a Setup prompt: a single copyable message that tells an AI agent your project ID and where to find the API spec, so it can manage the project through the public API. Your project ID is already in it. Replace YOUR_API_KEY with a real key before sending it, using the Get your API key button to jump to the API Keys section. Browse the API opens the API reference.

Use this for AI clients that cannot run a local MCP server, such as ChatGPT.

MCP Server ​

Below AI Agents, the MCP Server section gives you everything needed to connect an MCP-compatible AI agent to this project. The server runs locally on your own computer and talks to BlueFox Email with your own API key.

  1. Pick the tab for your client: Claude Desktop / Cursor / Windsurf, Claude Code (CLI), or Codex CLI (ChatGPT).
  2. Make sure Node.js 20 or newer is installed. Your AI client runs the server from npm with npx, so there is nothing else to install. If you prefer to run it from a clone of the repository, see Installation.
  3. Copy the Connect your AI agent snippet. Your project ID is already filled in.
  4. Replace YOUR_API_KEY with a real key from the API Keys section, then add the snippet to your client's configuration.
  5. Restart your AI agent so it picks up the new configuration.

For the full list of what an agent can do once connected, see the MCP Server integration guide. The server is published on npm as @bluefox-email/mcp and is open-source on GitHub.

Zapier Integration ​

You can see your projectID and API key needed for Zapier integration here. Click the copy icon by the projectID to copy the value to your clipboard. For API key, click View API Key to redirect to the API keys section where you can view, copy or create a new API key.

A screenshot of a project settings integrations section Zapier integration.

Webhooks Integration ​

Webhooks keep you informed in real-time about email events like opens, clicks, bounces, complaints, subscriptions, and more. Easily integrate notifications into your app to monitor email performance and user actions.

A screenshot of a project settings integrations section webhooks integration.

Steps to set up webhooks:

  1. Add Webhook URL: Enter the URL where you want to receive notifications. Ensure your endpoint is secure and ready to handle incoming requests.
  2. Select Events: Choose the events you want to be notified about (e.g., open, click, bounce, complaint).
  3. Save and Test: Save your settings and use the 'Test Webhook' feature to ensure your integration is working correctly.
  4. Start Receiving Notifications: Once set up, you'll begin receiving real-time updates for the selected events.

Unengaged Segment ​

The unengaged segment defines, for the whole project, which contacts count as unengaged. It is a single set of conditions, built with the same condition builder used by regular segments.

The definition on its own does not change who receives your emails. It takes effect when you turn on Exclude unengaged on a campaign, a triggered email, or a Notify node in an automation: every contact matching the definition is skipped for that send.

To find it, choose Unengaged Segment in the settings sub-menu. It sits at the end of the sub-menu, after Integrations. The section itself is titled Unengaged Contact Segment.

A screenshot of the project settings side menu with the unengaged segment section highlighted.

How the Definition Is Used ​

Every campaign and triggered email has an Exclude unengaged toggle in its header, next to the subscriber list and segment selection. With the toggle on, BlueFox Email compares each contact in the selected list against the project's unengaged segment definition and skips the ones that match.

A screenshot of a campaign with the exclude unengaged toggle highlighted.

The Notify node in automations offers the same option. Because a Notify node sends to a subscriber list of your choice rather than to the contact flowing through the automation, excluding unengaged contacts there works exactly as it does on a campaign: the list is checked against the project's definition and matching contacts are skipped.

This means:

  • You do not have to build or maintain an exclusion list at send time.
  • The definition is shared, so every send that opts in uses the same criteria: campaigns, triggered emails, and automation Notify nodes alike.
  • The option is per send. Leaving it off sends to the full list regardless of the definition.

Default Definition ​

Every project starts with a default definition made of two condition groups joined with OR logic. Conditions inside each group are joined with AND logic, so a contact only needs to match one complete group to be treated as unengaged.

A screenshot of the unengaged contact segment section with the default definition.

Group 1: contacts that are emailed but never open

  • Condition 1: Created At More than 365 days ago
  • AND
  • Condition 2: Email received in the last 90 days
  • AND
  • Condition 3: Email not-opened in the last 90 days

OR

Group 2: contacts that are no longer emailed at all

  • Condition 1: Created At More than 365 days ago
  • AND
  • Condition 2: Email not-received in the last 90 days

In plain language: a contact is unengaged by default if it has existed for over a year, and either it has been emailed recently without opening anything, or it has not been sent anything in the last 90 days.

Editing the Definition ​

You can adjust the definition to your project's own criteria without any developer involvement.

  • Add a condition: click AND at the bottom of a group. Each condition row has its own CONTACT PROPERTY and ENGAGEMENT tabs, so you choose the condition type per row, then pick the property or engagement operator and the value or number of days.
  • Add a group: click OR at the bottom of the section. Groups are joined with OR logic, so a contact matching any complete group counts as unengaged.
  • Remove a condition: click the delete icon at the end of the condition row.
  • Save: click SAVE to apply the new definition. It takes effect on the next send that has Exclude unengaged turned on.
  • Reset: click RESET to discard your edits and return to the saved definition.

A screenshot of the unengaged contact segment section with the property dropdown open while editing a condition.

The available conditions and operators are the same ones documented on the Segments page.

Note:

Changing the definition changes who is skipped on every campaign, triggered email, and Notify node that uses Exclude unengaged, not just the one you are editing next.

Relationship to Segments ​

The unengaged segment reuses the segment condition builder, but it is not a regular segment:

  • Regular segments are named, created under Contacts, and selected individually per campaign or automation.
  • The unengaged segment is a single unnamed definition per project, edited here in project settings, and used only by the Exclude unengaged option on campaigns, triggered emails, and automation Notify nodes.

If you are new to the condition builder, read Segments first. The AND/OR logic, the contact property operators, and the engagement conditions all behave the same way here.

Frequently Asked Questions

Where do I find my API key in BlueFox Email?

API keys are in the project settings under the API Keys section. You must create at least one API key to send transactional or triggered emails via the API. Include the key as a Bearer token in the Authorization header of your API requests.

Why does the API key color change over time?

BlueFox Email uses color-coded age indicators on API keys as a reminder to rotate them periodically for security. Green means the key is less than one month old, yellow means 1-6 months old, and red means more than 6 months old.

Can I use my own subscription preferences page?

Yes. In Project Settings, on the Main tab, enter the URL of your own page in Custom Subscription Preferences Page. When subscribers click the unsubscribe or pause links in your emails, BlueFox Email sends them to your page instead of the default one. Leave the field empty to use the default page.

What is the domain whitelist used for?

The domain whitelist controls which frontend domains are authorized to make subscription requests to your project, for example when embedding a sign-up form on your website. Backend requests using an API key do not need domain whitelisting. If your sign-up form is on your website, add your domain to the whitelist in project settings.

What contact properties can I define in project settings?

You can define custom contact properties with a name and data type (string, boolean, date, or number). These properties appear in the contacts table and can be populated via API or the UI. Reserved names such as email, status, and contactId cannot be used as custom property names.

Can I delete a project in BlueFox Email?

Yes. You can delete a project from the main section of the project settings page. The delete option is available next to the project name field. Deletion is permanent and cannot be undone.

What is the unengaged segment in BlueFox Email?

The unengaged segment is a project-wide definition of which contacts count as unengaged. It is set in project settings under the Unengaged Segment section and uses the same condition builder as regular segments, with contact property and engagement conditions combined using AND and OR logic.

What is the default unengaged definition?

By default a contact is unengaged if it was created more than 365 days ago and either received an email in the last 90 days without opening any of them, or did not receive any email in the last 90 days. The two cases are joined with OR logic, and the conditions inside each case are joined with AND logic. The definition is fully editable, and Reset restores the saved version.

How do I exclude unengaged contacts from a send?

Turn on the Exclude unengaged option in the header of the campaign or triggered email, or on the Notify node inside an automation. Every contact matching your project's unengaged segment definition is then skipped for that send. The option is per send, so it never affects your other sends.