Skip to content

FAQ

Short answers to the questions teams ask most during onboarding. Follow the links for the full details.

Open the account menu at the bottom of the left sidebar, where your name appears. Then select Settings. The Workspace group holds the pages that onboarding uses: Integrations, API keys, Environments, and Delivery.

Your JustAI team gives you your organization slug at kickoff. It’s the lowercase identifier in API paths, such as acme in /api/track/acme, not your organization’s display name. In the Production environment, it also appears inside the system webhook and content data feed URLs on your Iterable connection in Settings > Integrations. For another environment, your JustAI team gives you the path value to use instead.

Set up the environment that will send your campaigns. Every organization has a Production environment, and organization admins can add more in Settings > Environments. Each environment is a separate space with its own people, segments, journeys, events, integrations, and API keys. A new environment starts empty. The account menu shows the current environment under your name. See Key concepts.

Three roles cover the work:

  • A marketing or lifecycle owner, who builds the first journey, approves content and audiences, and owns the launch.
  • An engineering or data owner, who chooses the user ID and sends customer profiles and events.
  • An Iterable admin, who has permission to manage API keys, data feeds, system webhooks, campaigns, and templates in your Iterable project. Your Iterable admin creates the Iterable API key, the content data feed, the system webhook, and the sending profiles.

You also need an organization admin in JustAI to save your company’s mailing address. Your JustAI team gives you your organization slug, enables API access, assesses customer-specific file imports, and walks your marketing team through the first journey. See Plan your onboarding.

Use the tools you already run. Segment and RudderStack forward Identify and Track calls. Hightouch syncs warehouse models to the same APIs. Discuss a customer-specific S3 file import with your JustAI team before planning it. CSV upload handles small lists. Your own backend can call the APIs directly. See Choose a data source.

Do I need to send both profiles and events?

Section titled “Do I need to send both profiles and events?”

You need customer profiles for every email journey. A profile holds the person’s email address and traits, which JustAI needs to send and personalize email. You need events when a journey starts, waits, exits, or measures conversions on something people do. A Track event doesn’t create a profile, so send an Identify call with traits.email before the events that start email journeys.

No. The Identify and Track APIs take one JSON object per request. An array or a {"batch": [...]} body returns 400. Turn off batching in your CDP or sync tool. For a small list, use CSV upload. For a large population, plan an Identify backfill or discuss a customer-specific file import with your JustAI team.

A profile appears on Users as soon as Identify returns 200. A Profiles API read right after an update can briefly return the previous values, so if the change isn’t there, wait a minute and read again. New events can take time to appear in Events > Custom events. If an accepted event still doesn’t appear after you refresh, contact your JustAI team. Journey triggers, waits, and exits don’t wait for that delay.

Does JustAI connect anonymous events to a person later?

Section titled “Does JustAI connect anonymous events to a person later?”

No. JustAI links events to profiles by userId only. An event with only an anonymousId appears in Events > Custom events, but it never starts or moves a journey and never counts as a conversion. Identify ignores anonymousId. See Identity and consent.

Not through the APIs. Identify merges traits and never removes them. Sending null stores a null value instead of removing the trait. To delete a person, open them on Users and select Delete user, or ask your JustAI team. If the person comes from a customer-specific file import, agree on the deletion and future export procedure with your JustAI team so a later load does not add them back.

Can JustAI connect directly to our warehouse?

Section titled “Can JustAI connect directly to our warehouse?”

No. JustAI doesn’t connect to Redshift, Snowflake, or BigQuery. Use API calls through a tool such as Hightouch, or discuss a customer-specific file import with your JustAI team. See Amazon Redshift and Amazon S3 file import.

Do CSV uploads or historical imports start journeys?

Section titled “Do CSV uploads or historical imports start journeys?”

CSV profile changes don’t start journeys that use A profile attribute changes. Send changes that must start those journeys through Identify. Contact your JustAI team before planning an import of past events. Do not replay past events through Track: matching events can start, advance, or end published journeys, regardless of their timestamps.

JustAI doesn’t publish a fixed rate limit. Send one request per profile update or event, and keep concurrency moderate. As a conservative starting point, consider 10 concurrent requests or fewer for a profile backfill; this is not an enforced limit. Confirm it with your JustAI team, and send your JustAI team the number of profiles and your planned concurrency before the first full run. See Load your existing customers. Don’t replay past events through the Track API, because a replayed event can start a published journey. Retry 429, 5xx, and timeouts with exponential backoff, and keep the same body and messageId. See API overview and Errors and retries.

Which Iterable projects does JustAI support?

Section titled “Which Iterable projects does JustAI support?”

JustAI supports email-based and hybrid projects in Iterable’s US data center. In both, Iterable can find users by email. It doesn’t support userID-based projects or projects in Iterable’s EU data center. JustAI finds each recipient in Iterable by the email trait on their customer profile. See Connect Iterable.

Can I connect one Iterable project to more than one environment?

Section titled “Can I connect one Iterable project to more than one environment?”

No. Connect each Iterable project to one JustAI connection in one environment. A second connection can take over the first one’s system webhook, and the first connection then stops receiving send and engagement events. To test in another environment, connect a separate Iterable project.

Do I build templates and campaigns in Iterable?

Section titled “Do I build templates and campaigns in Iterable?”

No. When you create a sending profile, JustAI creates a template and a triggered campaign named JustAI · <profile name> in your Iterable project. Iterable gives each campaign its own copy of the template, so you can see two templates per profile. Don’t edit either copy. The only exception is an SMS or push profile, where you attach JustAI content feed to the template during setup. The content data feed, data feed caching, subject, body, unsubscribe link, sender, and message type must stay as JustAI set them. JustAI doesn’t check these settings, so an edit in Iterable can send blank or wrong messages without a warning. To change the sender or message type, create a new sending profile. See Create a sending profile.

For email sent through Iterable, Iterable owns the unsubscribe link and applies its subscription preferences for the profile’s message type. JustAI also skips people who are suppressed in JustAI or who lack required consent. Confirm with your JustAI team how unsubscribe decisions are synchronized. Test with an address you control and verify the subscription state in Iterable and the suppression or consent state in JustAI. Do not assume that updating one system updates the other.

In journey analytics. Each email step shows Sent, Delivered, Opened, and Clicked. Iterable reports sends, skips, bounces, opens, clicks, and unsubscribes through the system webhook. Iterable doesn’t report deliveries, so JustAI counts a send as delivered unless Iterable reports a bounce. Iterable engagement doesn’t appear under Events and doesn’t change profiles.

Yes. On your Iterable connection, select Add profile, then SMS or Push, and choose an Iterable message type for that channel. During setup, you attach JustAI content feed to the template in Iterable, then verify the profile with a 6-digit code from a test message. JustAI still identifies each recipient by email, and Iterable sends to that user’s phone or devices. See Create a sending profile.

Onboarding uses four credentials:

  • A JustAI API key, which your systems use to call the data APIs.
  • An Iterable server-side API key, which you save on the Iterable connection.
  • A feed token, which JustAI generates and you paste into the content data feed in Iterable.
  • A system webhook header, which JustAI writes into the system webhook for you. You never handle it.

See Credentials.

No. API keys have no per-API scopes. A key works with every supported JustAI API in the environment you created it in. Treat every key as a full-access server secret. Keep keys on your servers or in your CDP or sync tool, never in browser or mobile code. Browser calls to the APIs fail.

Any member of your organization, after your JustAI team enables API access. Open Settings > API keys and select New key. JustAI shows the key once, and it starts with jai_. If selecting New key shows “API key creation is restricted for this environment. Ask an organization admin for help.”, ask your JustAI team to enable API access. Your organization admins can’t turn it on.

Create a new key, update every system that uses the old key, then revoke the old key. To revoke it, select the trash icon in its row in Settings > API keys, then select Revoke. Revocation can’t be undone. Confirm that requests with the old key are rejected. See Credentials.

How does JustAI read files from our S3 bucket?

Section titled “How does JustAI read files from our S3 bucket?”

Confirm availability and access requirements with your JustAI team before granting access. Use only the identity and permissions agreed for your import, restricted to its bucket and prefix. Never send AWS access keys, warehouse passwords, or private keys in a ticket or email. See Amazon S3 file import.

Why does the system webhook use Authentication None?

Section titled “Why does the system webhook use Authentication None?”

JustAI authenticates the webhook with its own header. When you select Set header, JustAI writes the header into the webhook in Iterable. JustAI rejects webhook calls that don’t carry it. Leave Iterable’s Authentication setting at None, and don’t edit or remove the header. See Set up the system webhook.