Saved Sep 28, 2026 by @enviglo: API rate limits, the answers the API gives, and codes following the dashboard's rules
+ Parcel has no export that includes your customers, so Enviglo reads the purchase logs Parcel's bot posted in your Discord server instead, asks Parcel who still owns what, and gives your customers their products on Enviglo. This guide is for store owners and admins.+ ## Before you start++ - **Your role:** you need to be the store's owner or an admin. See [Roles and permissions](/wiki/roles-and-permissions).+ - **Your server:** link the Discord server Parcel posted its logs in. See [Connect your Discord server](/wiki/connect-your-discord-server).+ - **Your products:** it helps to have your products on Enviglo already, but the import can make drafts for any you haven't added yet.+ - **Your Parcel hub ID and product IDs:** they let Enviglo check with Parcel that each buyer still owns what they bought. Both are in your Parcel whitelist scripts: `Parcel:Whitelist("hub id", "product id")`.++ ## Start the import++ 1. In your store's dashboard, open **Settings** → **Integrations**.+ 2. Go to **Move from Parcel** and select **Move from Parcel**, then **Start moving from Parcel**.+ 3. Select **Add Enviglo Import**. Discord opens with your server already chosen. Authorise the bot there.+ 4. Back on Enviglo, select **I've added it**.++ Enviglo Import is a separate bot from Enviglo's. It asks to view channels and read their history, so it can find Parcel's messages, and to send messages, only for the announcement if you ask for one. It can't change anything in your server. If Parcel posted in private channels, give the bot's role access to them too.++ ## What it reads++ The bot searches every channel it can see for messages from Parcel's bot, and only those. It uses two kinds:++ - **Purchase logs** ("New Purchase"): the product, how it was paid for, and the buyer's Roblox and Discord accounts.+ - **Replies to `/give`** ("Product was given"): the product and the Roblox account it was given to.++ Every other message from Parcel is searched for people too: `/profile` replies, revokes and anything else that names someone. Everyone found this way with a Roblox account is checked against every product in your hub, so a customer whose own purchase log is gone still comes over if Parcel mentioned them anywhere. Someone who owns nothing, like a staff member, doesn't come over. Who owns what today comes from Parcel itself, not from old messages. Messages that only look like Parcel's, from a webhook for example, are ignored.++ ## If you use a Parcel Custom Bot++ With a Parcel Custom Bot, your purchase logs and replies come from your own bot instead of Parcel's, and the import finds nothing until it knows which bot that is. Under **Parcel's bot**, select **Find it for me** to see the bots in your server that post what Parcel posts, then **Read it like Parcel**. Or paste your bot's user ID (right-click it in Discord and choose **Copy User ID**) and select **Add bot**. Enviglo reads everything again to take in its messages. Who owns what is still Parcel's answer, whichever bot posted the message.++ ## Upload your Store Export++ The quickest way to set up checking. In your server, run Parcel's `/settings`, choose **Hub Settings**, then **Store Export** (not the full export). Parcel's bot replies with a file called `Parcel_StoreExport_…json`. Under **Parcel Store Export**, upload it without renaming it.++ Enviglo takes your hub ID from the file's name and every product's Parcel ID from inside it, so there's nothing to type. Products nobody has bought yet appear too, so your whole catalogue can come over. The export has to be from the same Discord server as your store.++ The file also holds your hub's secret key. **Use my hub's secret key from this file to check owners faster** starts ticked: Enviglo then asks Parcel once per customer what they own, instead of once per product, which takes minutes instead of hours on a big store. The key is kept encrypted, only used to read what customers own, and forgotten when you finish, undo or cancel the import. Select **Forget it now** to drop it sooner, or untick the box before uploading to have it thrown away. Either way, don't post the file anywhere else, and reset the key on Parcel if it ever gets out.++ ## Let Enviglo check with Parcel++ Under **Parcel hub ID**, paste your hub ID and select **Save hub ID**. For each person the bot found, Enviglo asks Parcel whether their Roblox account still owns the product, the same way Parcel's whitelist script does in your games. People who were refunded, revoked or gave the product to someone else don't come across.++ Parcel can only be asked about Roblox accounts. Every purchase log and every give has one, so that covers nearly everyone.++ Without a hub ID, nothing is checked. You can still import people from Parcel's purchase logs by ticking **Import the ones Parcel couldn't check too**.++ ## Match your products++ Under **Products from Parcel**, each product named in Parcel's messages has two choices:++ - **Parcel product ID:** the product's ID from your whitelist scripts, which Enviglo checks owners against. Enviglo checks Parcel knows it when you enter it.+ - **On Enviglo:** where its customers' licenses go. Products with the same name are matched for you. Pick another product, **Make a draft**, or **Leave it behind**.++ A draft made here works straight away for the people who own it. With your Store Export uploaded, it comes with the product's description, category and Roblox developer product (so Enviglo reads its Robux price), and its picture, which waits for review like any upload. **Make drafts for** makes one for every product that has nowhere to go yet. Add their files and publish them when you're ready.++ ## Import++ When everything looks right, select **Import**. Each customer gets their products in their Enviglo library and a notification saying so. Customers who haven't joined Enviglo yet find them there the first time they sign in with that Discord or Roblox account.++ Imported licenses are marked **From Parcel**. They never count as sales: not in your figures, not in charts or rankings, and not towards badges.++ Someone who already owns the product on Enviglo is left as they are. Someone banned from your store is skipped.++ ## Tell your server++ Once it's imported, you can have the bot post one message in a channel you choose, saying you've moved and how members get to their products. It doesn't ping anyone. Add your own words first if you like.++ ## Finish++ Look through your products and customers on Enviglo, tick **My products and customers are all on Enviglo**, and select **Finish and remove the bot**. The bot leaves your server.++ If the bot sits unused for two weeks while waiting for you to review, or a month after importing, it leaves by itself. Everything it found stays, and you can add it back from the import's page.++ ## Run it again, or undo it++ - **Look for new purchases** reads only what Parcel posted since the last time, for purchases made while you were moving. New ones wait for you to import them.+ - **Read channel by channel** reads every channel from the start without Discord's search. Use it if the import's log says search may have missed messages.+ - **Undo import** removes the licenses it made, unless they've changed hands since (transferred, revoked or renewed). Customers who were told their products arrived are told they've gone. Drafts it made are removed if nothing else happened to them. Everything it found stays, so you can import again.
Parcel has no export that includes your customers, so Enviglo reads the purchase logs Parcel's bot posted in your Discord server instead, asks Parcel who still owns what, and gives your customers their products on Enviglo. This guide is for store owners and admins.
Parcel:Whitelist("hub id", "product id").Enviglo Import is a separate bot from Enviglo's. It asks to view channels and read their history, so it can find Parcel's messages, and to send messages, only for the announcement if you ask for one. It can't change anything in your server. If Parcel posted in private channels, give the bot's role access to them too.
The bot searches every channel it can see for messages from Parcel's bot, and only those. It uses two kinds:
/give ("Product was given"): the product and the Roblox account it was given to.Every other message from Parcel is searched for people too: /profile replies, revokes and anything else that names someone. Everyone found this way with a Roblox account is checked against every product in your hub, so a customer whose own purchase log is gone still comes over if Parcel mentioned them anywhere. Someone who owns nothing, like a staff member, doesn't come over. Who owns what today comes from Parcel itself, not from old messages. Messages that only look like Parcel's, from a webhook for example, are ignored.
With a Parcel Custom Bot, your purchase logs and replies come from your own bot instead of Parcel's, and the import finds nothing until it knows which bot that is. Under Parcel's bot, select Find it for me to see the bots in your server that post what Parcel posts, then Read it like Parcel. Or paste your bot's user ID (right-click it in Discord and choose Copy User ID) and select Add bot. Enviglo reads everything again to take in its messages. Who owns what is still Parcel's answer, whichever bot posted the message.
The quickest way to set up checking. In your server, run Parcel's /settings, choose Hub Settings, then Store Export (not the full export). Parcel's bot replies with a file called Parcel_StoreExport_…json. Under Parcel Store Export, upload it without renaming it.
Enviglo takes your hub ID from the file's name and every product's Parcel ID from inside it, so there's nothing to type. Products nobody has bought yet appear too, so your whole catalogue can come over. The export has to be from the same Discord server as your store.
The file also holds your hub's secret key. Use my hub's secret key from this file to check owners faster starts ticked: Enviglo then asks Parcel once per customer what they own, instead of once per product, which takes minutes instead of hours on a big store. The key is kept encrypted, only used to read what customers own, and forgotten when you finish, undo or cancel the import. Select Forget it now to drop it sooner, or untick the box before uploading to have it thrown away. Either way, don't post the file anywhere else, and reset the key on Parcel if it ever gets out.
Under Parcel hub ID, paste your hub ID and select Save hub ID. For each person the bot found, Enviglo asks Parcel whether their Roblox account still owns the product, the same way Parcel's whitelist script does in your games. People who were refunded, revoked or gave the product to someone else don't come across.
Parcel can only be asked about Roblox accounts. Every purchase log and every give has one, so that covers nearly everyone.
Without a hub ID, nothing is checked. You can still import people from Parcel's purchase logs by ticking Import the ones Parcel couldn't check too.
Under Products from Parcel, each product named in Parcel's messages has two choices:
A draft made here works straight away for the people who own it. With your Store Export uploaded, it comes with the product's description, category and Roblox developer product (so Enviglo reads its Robux price), and its picture, which waits for review like any upload. Make drafts for makes one for every product that has nowhere to go yet. Add their files and publish them when you're ready.
When everything looks right, select Import. Each customer gets their products in their Enviglo library and a notification saying so. Customers who haven't joined Enviglo yet find them there the first time they sign in with that Discord or Roblox account.
Imported licenses are marked From Parcel. They never count as sales: not in your figures, not in charts or rankings, and not towards badges.
Someone who already owns the product on Enviglo is left as they are. Someone banned from your store is skipped.
Once it's imported, you can have the bot post one message in a channel you choose, saying you've moved and how members get to their products. It doesn't ping anyone. Add your own words first if you like.
Look through your products and customers on Enviglo, tick My products and customers are all on Enviglo, and select Finish and remove the bot. The bot leaves your server.
If the bot sits unused for two weeks while waiting for you to review, or a month after importing, it leaves by itself. Everything it found stays, and you can add it back from the import's page.