1Sync Logo Light
Documentation menu

Customer invitations

Send Shopify customer invitations from Salesforce Flow or Apex, choose a delivery mode, track results, and set up B2B welcome emails.

On this page

Jota can invite your Salesforce Contacts to their Shopify customer account. You decide who to invite, using Flow or Apex. Jota sends the email and records the result.

Invitations go only to Contacts who already have a Shopify customer ID. Jota doesn’t create customers here, and it doesn’t send invitations automatically when a customer is created or onboarded.

Choose a mode

Each store has one invitation mode:

ModeWhat happens
DisabledRequests are skipped. This is the default.
LegacyShopify sends its legacy account activation email. Your store must have legacy accounts turned on.
Customer accountSalesforce sends your welcome email template, with a link to your customer sign-in page. This doesn’t activate a legacy account.

Configure a store

  1. Assign Jota Invitation Admin to the administrator setting this up. They also need Salesforce permission to deploy custom metadata, such as Customize Application.
  2. Open Shopify Store Config Manager, then find the store’s Invitations card.
  3. Choose an Invitation mode.
  4. For Customer account, enter the Customer account sign-in URL and Welcome email template ID. You can also enter an Organization-wide sender ID. Otherwise, Salesforce sends from the user who queued the invitation.
  5. Select Save invitation settings, wait for the deployment to finish, then refresh the page to confirm your settings. If they don’t change, check Setup → Deployment Status.

Your template must include {{account_url}} in its body or link. Jota replaces it with your sign-in URL, and a template without it won’t send. Use a template that supports Contact merge fields, such as a Classic text or HTML template. Salesforce’s email deliverability settings and daily limits apply.

Send from Flow

Assign Jota Invitation to the user running your automation. For legacy mode, they also need store access.

Add the Send Shopify Invitation action to your Flow:

InputDetails
Contact IDRequired
Store ConfigurationThe store’s developer name. You can leave this blank if you have one active store.
ResendOff by default. Turn it on to deliberately retry a completed or uncertain invitation.

The action runs in the background and accepts bulk requests. It returns a Status, Detail, and Invitation ID for each input, in the same order. Queued means Jota accepted the request, not that the email was sent.

Send from Apex

Pass all your requests together, once per transaction, with up to 200 requests per call. Don’t call the action in a loop.

shop_1sync.JotaInvitationAction.Request request =
    new shop_1sync.JotaInvitationAction.Request();
request.contactId = selectedContactId;
request.storeConfiguration = 'my_store'; // the store's developer name
request.resend = false;
 
List<shop_1sync.JotaInvitationAction.Result> results =
    shop_1sync.JotaInvitationAction.send(
        new List<shop_1sync.JotaInvitationAction.Request>{ request }
    );

Track results

Open the Shopify Invitations tab to see the latest result for each Contact and store.

StatusMeaning
QueuedWaiting, running, or interrupted before the result was saved
SentShopify or Salesforce accepted the email. This doesn’t confirm delivery or account activation.
SkippedThe mode or store changed, the Contact opted out of email, or the account was already invited or enabled
FailedValidation failed, Shopify rejected the request, or Salesforce couldn’t send the email
UnknownJota couldn’t confirm the legacy delivery result. Check before you resend.

Each Contact and store has one invitation record, so Jota won’t invite them twice unless you turn on Resend. Queued invitations are never sent again, even with Resend.

Jota doesn’t retry failed invitations automatically. It also skips Contacts who have opted out of email.

If an invitation stays Queued, first confirm that its job has stopped in Setup → Apex Jobs and check whether the email went out. Then correct the record’s status before you resend. Don’t change the status while the job is running.

B2B welcome emails

Shopify’s B2B access email can’t be sent by apps, so use Shopify Flow to send it. Jota helps by adding a tag when it adds a new company contact.

When onboarding assigns a customer as a new company contact, Jota adds the jota-invite-pending tag. Contacts who opted out of email aren’t tagged, and neither are customers who already belong to the company.

Create a Shopify Flow with these steps:

  1. Trigger on Company contact assigned permission.
  2. Check that the customer has the jota-invite-pending tag.
  3. Run Send B2B access email.
  4. Remove the jota-invite-pending tag from the customer.

Jota doesn’t remove the tag or track delivery, so make sure your Flow removes it. Keep this tag for this workflow only.

A Flow can only send on new permission events. Turning it on later doesn’t email earlier customers, so review those customers yourself.

Test with a single customer before you turn the Flow on. Permission assignment doesn’t prove every onboarding step succeeded. If your email promises specific pricing, add your own check that the customer’s locations and markets are ready.

Use one delivery path for each customer, so they don’t receive both a Shopify and a Salesforce welcome email. If you’d rather send from Salesforce, use Customer account mode and call Send Shopify Invitation after onboarding succeeds.